Java.AtomicInteger.accumulateAndGet()方法是一種內置方法,該方法通過對當前值和作為參數傳遞的值應用指定的操作來更新對象的當前值。它以整數作為參數,並使用IntBinaryOperator接口的對象,並將該對象中指定的操作應用於這些值。它返回更新的值。
用法:
public final int accumulateAndGet(int y, IntBinaryOperator function)
參數:此方法接受整數y和IntBinaryOperator函數作為參數。它將給定函數應用於對象的當前值和值y。
返回值:該函數返回當前對象的更新值。
實例演示函數。
// Java programt to demonstrate
// AtomicInteger accumulateAndGet() method
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.IntBinaryOperator;
public class Demo {
public static void main(String[] args)
{
new UserThread("Thread A");
new UserThread("Thread B");
}
}
class Shared {
static AtomicInteger ai = new AtomicInteger(0);
}
class UserThread implements Runnable {
String name;
UserThread(String name)
{
this.name = name;
new Thread(this).start();
}
IntBinaryOperator ibo = (x, y) -> (x + y);
int value = 5;
@Override
public void run()
{
for (int i = 0; i < 3; i++) {
int ans = Shared.ai
.accumulateAndGet(value, ibo);
System.out.println(name + " " + ans);
}
}
}
輸出:
Thread A 5 Thread A 10 Thread A 15 Thread B 20 Thread B 25 Thread B 30
參考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html
相關用法
- Java AtomicReference accumulateAndGet()用法及代碼示例
- Java AtomicIntegerArray accumulateAndGet()用法及代碼示例
- Java AtomicLong accumulateAndGet()用法及代碼示例
- Java AtomicReferenceArray accumulateAndGet()用法及代碼示例
- Java AtomicLongArray accumulateAndGet()用法及代碼示例
- Java AtomicInteger set()用法及代碼示例
- Java AtomicInteger get()用法及代碼示例
- Java AtomicInteger floatValue()用法及代碼示例
- Java AtomicInteger getAndAdd()用法及代碼示例
- Java AtomicInteger getAndSet()用法及代碼示例
- Java AtomicInteger updateAndGet()用法及代碼示例
- Java AtomicInteger toString()用法及代碼示例
- Java AtomicInteger lazySet()用法及代碼示例
- Java AtomicInteger longValue()用法及代碼示例
- Java AtomicInteger getAndAccumulate()用法及代碼示例
注:本文由純淨天空篩選整理自CharchitKapoor大神的英文原創作品 AtomicInteger accumulateAndGet() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。