11/09/15 12:21:02.84
続き。volatile の必要性については、参照側
int prevA = 0;
while (true) {
Vars v = Vars.instance;
if (v.a != prevA) {
doSomething(v);
prevA = v.a;
}
}
とすると、参照側の Vars.instance のアクセスがキャッシュされるから、
Vars.instance は volatile じゃないと駄目ってことでしょ。
Vars.instance を直接アクセスせずに getter を介してれば volatile は不要、かな?