Javaの並行処理第2章スレッドセーフ

スレッドセーフなアクセスの共有状態変数の自然を管理します

複数のスレッドが状態をアクセスし、書き込み動作が#書き込みを同期させる必要がない場合、間隔は不変である時間内であると考えることができる、そこでは、時間に関して可変です

 

シリアルは安全である:自然な順序が保証するために、その時には交差点ません

 

3例の状態アクセスは安全です

1.不変(ステートレス)

2.はない、クロススレッドを実行します。

3.同期アクセス

 (時間には交差点)のアクセスを制限することによって、2,3-

 

国家安全保障:不変条件、事前条件、事後条件すべてを満たします

 

 

 

原子性:排他アクセス状態

人種:同時動作が制約条件を変更することがあり、実行時には、ミューテックスを避けることによって、失われます

状態が同時に変化していない=>ミューテックス:状態が同時に変更された場合、原子が=>原子を破壊されます

どちらか、同じ原子を更新する必要が設​​定した運転状態状態が制約違反を変更することができ、競合状態は拡張 - 間の制約に関与独立変数ではありません 

 

ロック:排他的、シリアル

内部ロック(JVMレコードロック乗員(スレッド))、アトミック性と視認性リエントラント(JVM数)を確保しながら、

 

ロックに必要なリソース、ミューテックスとして見

 

抽象化の第一層:相互排他ロック(リソース)

抽象化の第二層:同じへのアクセスがロックを取得するために必要とされるそれぞれがすべての非独立変数の維持、

抽象化の第三層:アトミック動作として複合操作、状態のセットを含む全体の排他的な操作、

 

可視性?

 

おすすめ

転載: www.cnblogs.com/qmc2077/p/11431864.html
おすすめ