[英]Wwhat's the difference between Volatile variable vs Atomic variable?
如果僅考慮獲取/設置方法,它們是否相同? 還是說,以下兩段代碼是否等效?
private volatile boolean a;
public boolean isA(){
return a;
}
public void setA(boolean a){
this.a = a;
}
private AtomicBoolean a;
public boolean isA(){
return a.get();
}
public void setA(boolean a){
this.a.set(a);
}
Atomic *類的優點是它們的原子方法,例如“ getAndSet()”或“ compareAndSet()”,否則將需要鎖定。
如果您沒有任何復合操作,例如,僅要確保所有線程看到最新的'a'值,那么volatile就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.