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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。