マルチスレッド章

メソッドのスレッドに参加することは、プロセスのスレッドの実行は、現在のスレッドが実行され続け作るための方法を実行している参加完全なスレッドまで待つ必要があります。原理はスレッドが生存している参加チェックして、生存率がオーバースレッドまで待つことを循環してきた、そしてそれはダウンを実行し続けます。
volitileは、コンパイラの並べ替えを解決するために、スレッド間の通信を行うことで、プログラムが実行の通常の流れに従って実行され、

JSTAT仮想マシンモニタコマンドガベージコレクション、メモリ、クラスローダを含むさまざまな動作状態、
JSTAT -gc pidの各パーティションは、情報メモリヒープを監視することができます

jstack:スタックトレースツールの
カスタムクラスローダは)(にfindClassを書き換える必要があります

ConcurrentHashMapの()操作は、安全性と効率が可能であり、ハッシュ・セグメントは、セグメントのロックを見つけるために置くべきです。同時使用、HashMapの使用していない
ConcurrentLinkedQueueスレッドセーフなキューを、その性能はBlockingQueueのよりも優れています

Javaのキューでの詰まり
arrayBlockingQueue:無制限のブロッキングキューの配列構造
linkedBlockingQueue:リンクリスト構造、linkedTransferQueue有界キューからなる:無制限のブロッキングキュー、linkedBlockingDequeの構造体のリンクリスト:リスト双方向のブロッキングキューから成ります

フォーク/フレーム(マルチスレッド)に参加:
オブジェクトは、それぞれ別々に実行するサブタスク、大きなタスクを分割することであり、結果を得るための方法のタスクが呼び出しタスクに参加し、クラスはrecursiveTaskを継承する必要があり、計算()メソッドをオーバーライドする
スレッド交換の間を交換データは、同じデータ処理動作の二つのスレッドと一致しているかどうかを検証するために使用することができます。

セマフォ同時スレッドの数を制御します。例えば、唯一の100高速道路を通行車両、他の車は唯一の接合部で待つことができます。

CyclicBarrierをして​​たCountDownLatch差:

カウンタは一度だけ使用することができたCountDownLatch、およびCyclicBarrierを、より複雑なビジネスシナリオを扱うことができるように、リセットの対抗できるCyclicBarrierをREST()メソッド。

おすすめ

転載: www.cnblogs.com/ljy-skill/p/11111379.html