以前一直沒在意
public class Counter {
public volatile static int count =
public static void inc() {
//這裡延遲
try {
Thread
} catch (InterruptedException e) {
}
count++;
}
public static void main(String[] args) {
//同時啟動
for (int i =
new Thread(new Runnable() {
@Override
public void run() {
Counter
}
})
}
//這裡每次運行的值都有可能不同
System
}
}
這裡運行結果依然不是期望的
對於volatile修飾的變量
例如假如線程
在線程
線程
導致兩個線程及時用volatile關鍵字修改之後
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27567.html