マルチスレッド・ノート3

以下は、制限されることができることを確実にするために、同期
の1-アトミックを:
2つのスレッドが相互に排他的でない場合、スレッドの原子間の相互排他性を確保するために、中断されていない保証はありません。
2-可視性:
有効なスレッド間の相互排除は、アトミックではない場合、視認性が保証されません。
ロックが解除されたときに、メインメモリに現在のスレッドの作業メモリのリフレッシュを強制します。
スレッドロックがワーキングメモリに取得する際に、メインメモリから読み出すことを余儀なく。
:3-制限の並び替え
、フロントロック、アンロックフロント及びリアロック命令のロックを解除する、別の場所に並べ替えロック及びアンロックを横切らないであろう。

揮発性の効果
1.JVMつのプロセス32、及び長い非原子と二重参照の従って割り当て、しかし限り、揮発性の割り当てを追加するアトミックを含む前に行うことができるように。
揮発性長いA = 10L;
2.揮発性変数と、(のみ割り当て、計算しない)割り当てメインメモリにフラッシュに強制されて、メインメモリからの読み出しを強制的に読み取られ、確実に可変可視性(ブール値)、複数のスレッドは、命令がうまくいかないん保証することができます。
A =真揮発性ブールに、
3クラスがインスタンス化されると、揮発性のオブジェクト参照の使用の変形例は、処理命令の例は、保証されない並べ替えてもよい(オープンスペース、初期化、アドレス空間引用する)(オープンスペースで、2つのステップがありそうなJVM並べ替えされます)。揮発性参照=新しいクラス
タイプ、(例えば、揮発性のArrayListリスト=新しいArratList() ;)

公開された15元の記事 ウォンの賞賛0 ビュー262

おすすめ

転載: blog.csdn.net/rushrush1/article/details/104847388