1. 程式人生 > >多執行緒中自增AtomicInteger

多執行緒中自增AtomicInteger

AtomicInteger類的理解與使用
首先看兩段程式碼,一段是Integer的,一段是AtomicInteger的,為以下:

public class Sample1 {

    private static Integer count = 0;

    synchronized public static void increment() {
        count++;
    }

}

以下是AtomicInteger的:

public class Sample2 {

    private static AtomicInteger count = new AtomicInteger(0);

    public static void increment() {
        count.getAndIncrement();
    }

}

以上兩段程式碼,在使用Integer的時候,必須加上synchronized保證不會出現併發執行緒同時訪問的情況,而在AtomicInteger中卻不用加上synchronized,在這裡AtomicInteger是提供原子操作的