この問題に対するマルチスレッド開発の注意

  • 意味のある名前にスレッドから、そう簡単にバグを見つけるために
  • これにより、ロック競合を低減同期狭い範囲は、例えば、同期、シンクブロック同期方法を使用することを試みるべきではありません
  • マルチユースの同期ツール少ない待ち時間()と通知()。まず、たCountDownLatch、CyclicBarrierを、セマフォ交換これらの同期クラスおよび簡略符号化動作、及び待機()及び(通知)は、複雑な制御フローを達成することは困難である。第二に、同期クラスは最高の企業によって調製し、維持され、以降にJDKの最適化と改善していきます。
  • BlockingQueueのを達成するために生産者と消費者を使用してください
  • 多目的同時コレクション少ない同期コレクションには、例えば、ハッシュテーブルのConcurrentHashMapの代わりに使用する必要があります
  • スレッドの安全性を確保するために、ローカル変数と不変クラスを使用します
  • スレッドを作成するための高コストのため、スレッドプールが効果的にタスクを開始するために限られた糸を使用することができますので、それは、直接スレッドを作成するのではなく、スレッドプールを使用します

おすすめ

転載: www.cnblogs.com/yjxyy/p/11125635.html