當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java AtomicInteger accumulateAndGet()用法及代碼示例


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



相關用法


注:本文由純淨天空篩選整理自CharchitKapoor大神的英文原創作品 AtomicInteger accumulateAndGet() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。