為什麼使用volatile比同步代價更低?
同步的代價
而volatile的覆蓋范圍僅僅變量級別的
volatile原理是什麼?
volatile的語義
因此
volatile的有什麼優勢?
volatile有什麼劣勢?
volatile運算存在髒數據問題
volatile僅僅能保證變量可見性
volatile的race condition示例
public class TestRaceCondition {
private volatile int i =
public void increase() {
i++;
}
public int getValue() {
return i;
}
}
多線程執行increase方法時
答案是否定的
[
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27717.html