13.volatileと比較して同期します

同期、不揮発性メモリは、視認性の問題の共有変数の値を解決しますが、前者は排他ロックである、唯一つのスレッドは、get()メソッドを呼び出しながら、スレッドコンテキストスイッチングおよびスレッドの再スケジュールが存在しますが、他の呼び出し元のスレッドは、ブロックされますされていますオーバーヘッドは、これはローカルロックモードの活用ではありません。後者は非ブロッキングアルゴリズムがあるが、それは、スレッドコンテキストスイッチのオーバーヘッドを生じさせないであろう。

揮発性、視認性の保証はなく、アトミック操作を保証するものではありませんを提供しながら。

場合は、一般的に揮発性のキーワード、それを使うのだろうか?

  • 書き込みは、変数、変数の現在の値の値に依存しません。現在依存値場合、書き込み動作の三段階の計算を得ることであるので、操作の3つのステップが、揮発性原子ではなく、アトミック性を保証するものではありません。
  • 変数の値を読んでロックされていません。ロック自体はメモリの視認性を確保する必要があるため、この時間は、揮発性として変数を宣言する必要はありません。

おすすめ

転載: www.cnblogs.com/fly-book/p/11375244.html