任何人都可以告訴我,這個類是否是線程安全的? class Foo {
private final Map<String,String> aMap;
public Foo() {
aMap = new HashMap<String, String>();
aMap.put("1", "a");
aMap.put("2", "b");
由於Java 5,volatile關鍵字發佈/收購語義使副作用可見於其他線程(包括分配到非易失性變量!)。以這兩個變量,例如: int i;
volatile int v;
注意i是有規律的,非易失性變量。試想一下,線程1執行以下語句: i = 42;
v = 0;
在稍後的某個時間點,線程2執行以下語句: int some_local_variable = v;
print(i);