AtomicBoolean
次のように起動/シャットダウンの同期に を使用すると効果がないと言う友人がいます。
public void startup() {
if (started.compareAndSet(false, true)) {
... startup code
}
}
彼はAtomicBoolean
、スレッドセーフであるためにはループの内側にいる必要があると言います。AtomicBoolean
ループの外で使用できないのはなぜですか? この背後にある理論的根拠は何ですか?
が必要です