Java.AtomicInteger.getAndAccumulate()方法是一种内置方法,该方法通过对当前值和作为参数传递的值应用指定的操作来更新对象的当前值。它以整数作为参数,并使用IntBinaryOperator接口的对象,并将该对象中指定的操作应用于这些值。它返回先前的值。
用法:
public final int getAndAccumulate(int y, IntBinaryOperator function)
参数:此方法接受两个参数:
- y:要在其上应用函数的整数。
- function:函数应用于对象的当前值和值y。
返回值:该函数返回当前对象的先前值。
实例演示函数。
// Java program to demonstrate
// working of getAndAccumulate() 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(1);
}
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
.getAndAccumulate(value, ibo);
System.out.println(name + " "
+ ans);
}
}
}
输出:
Thread A 1 Thread A 5 Thread A 25 Thread B 125 Thread B 625 Thread B 3125
参考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html
相关用法
- Java AtomicLongArray getAndAccumulate()用法及代码示例
- Java AtomicReference getAndAccumulate()用法及代码示例
- Java AtomicReferenceArray getAndAccumulate()用法及代码示例
- Java AtomicInteger get()用法及代码示例
- Java AtomicInteger set()用法及代码示例
- Java AtomicInteger incrementAndGet()用法及代码示例
- Java AtomicInteger floatValue()用法及代码示例
- Java AtomicInteger longValue()用法及代码示例
- Java AtomicInteger doubleValue()用法及代码示例
- Java AtomicInteger weakCompareAndSet()用法及代码示例
- Java AtomicInteger getAndDecrement()用法及代码示例
- Java AtomicInteger decrementAndGet()用法及代码示例
- Java AtomicInteger compareAndSet()用法及代码示例
- Java AtomicInteger updateAndGet()用法及代码示例
- Java AtomicInteger addAndGet()用法及代码示例
注:本文由纯净天空筛选整理自CharchitKapoor大神的英文原创作品 AtomicInteger getAndAccumulate() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。