揮発性ブール値とAtomicBoolean 質問する

揮発性ブール値とAtomicBoolean 質問する

AtomicBoolean は、揮発性ブール値では実現できないどのようなことを実行しますか?

ベストアンサー1

揮発性フィールドは、そのフィールドが所有者スレッドによってのみ更新され、値が他のスレッドによってのみ読み取られる場合に使用します。これは、多くのオブザーバーがあるがパブリッシャーは 1 つしかないパブリッシュ/サブスクライブ シナリオと考えることができます。ただし、それらのオブザーバーがフィールドの値に基づいて何らかのロジックを実行し、新しい値をプッシュバックする必要がある場合は、Atomic* vars、ロック、または同期ブロックのいずれかを使用します。最も適したものを選択します。多くの同時実行シナリオでは、値を取得し、別の値と比較し、必要に応じて更新することになります。そのため、Atomic* クラスには compareAndSet メソッドと getAndSet メソッドがあります。

JavaDocsを確認してくださいjava.util.concurrent.atomicAtomic クラスのリストと、その動作の優れた説明のパッケージ (ロックフリーなので、ロックや同期ブロックよりも優れていることがわかりました)

おすすめ記事