JUC同時ツール

オリジナル明記してくださいソース:https://www.cnblogs.com/agilestyle/p/11449367.html

 

java.util.concurrentのとそのサブパッケージは、いくつかの特定の領域を含めたJava並行処理、などの基本的な様々なツールに焦点を当てました:

  • より豊かなマルチスレッド動作を実現することができる、等たCountDownLatch、CyclicBarrierを、セマフォ、など種々の構造の同期同期のより高度提供し、このようなスレッドの数セマフォ・リソース・コントローラを使用するように、同時作業を制限します。

  • このような最も一般的ConcurrentHashMapのようなスレッドセーフ容器、整然としたConcunrrentSkipListMap、またはスレッドセーフな動的配列CopyOnWriteArrayListとを達成するために同様のスナップショット機構を介してなどの様々な。

  • 各種BlockedQueueのような種々の同時キューの実装では、特定のシーンのために、典型的ArrayBlockingQueue、SynchorousQueue PriorityBlockingQueue等を達成しました。

  • なランニングなどのスレッド・プールの様々な異なるタイプのを作成することができExecutorの強力なフレームワーク、スケジュールされたタスクは、ほとんどの場合、もはやスレッドプールとタスクスケジューラ独自に再実装する必要はありません。

 

、リスト、およびSet提供同時スレッドセーフなバッグの地図。以下の図にクラス参照。

アプリケーションが高速に取得し、順番を気にしない地図に焦点を当てたりした場合、ほとんどのConcurrentHashMapをお勧めします

大量のデータが優位性を示すためにConcurrentSkipListMapのもありそうな、非常に頻繁に変更する必要がある場合は、それ以外の場合はConcurrentSkipListMapのを使用しています。

 

約2コピーオンライトコンテナ、実際にはCopyOnWriteArraySetはCopyOnWriteArrayListとをラップすることによって達成されます。

その原理のような任意の変更操作、設定、ポストは、追加、削除、元の配列をコピーします、元の配列、代替スレッドセーフ達成するために、このような防御的な方法を置き換える修正することであるコピーオンライト。

したがって、このデータ構造は、読み取りおよび書き込み操作のために、比較的あまり適しているか、コストは依然として非常に明白である修正します。

 

おすすめ

転載: www.cnblogs.com/agilestyle/p/11449367.html