0

セッターとゲッターメソッドによって公開されたプライベートブール値を保持するクラスがある場合、異なるスレッドからそのブール値を読み書きしたい場合、それらのメソッドを同期として設定する必要がありますか?

4

3 に答える 3

3

単純な値のアクセスを同期することは、多くの場合不要です。通常、必要なのは、volatile制限が少なく、より有益なマークを付けることだけです。

それはすべて、値にアクセスする方法に大きく依存します。

場合によっては、 を使用するのAtomicBooleanが最善の方法です。これは、わずかに異なる保証を に提供しますvolatile

詳細については、質問Java: volatile boolean vs AtomicBooleanの質問を参照してください。

于 2013-03-31T22:50:25.673 に答える
2

のクラスを調べるjava/util/concurrent/atomicと役立つ場合があります。などAtomicBoolean

于 2013-03-31T22:55:18.267 に答える
0

はい、セッターとゲッターを同期させることは良い考えです。ブール値の読み取りまたは書き込みはアトミック コマンドではないため、まれに問題が発生する場合があります。(フォームRAMまたはキャッシュのどちらを読んでいるかはわかりません)。揮発性でない限り。

于 2013-03-31T22:50:23.400 に答える