私は、Javaのシリーズ--- [原則]スレッドプールを愛し

まず、スレッドは良くないのですか?

メイドトラック(スレッド)?-Time使用する時間を行うには、恐ろしい破壊、破壊やない時間のかかる不足に?
➢1、スレッドは、Javaのオブジェクトであり、Javaの各スレッドは、オペレーティングシステムのスレッドのサポートを必要とします。スレッドの作成、破壊は時間がかかります。
  あなたが破壊する+時間の時間を作成する場合>ミッション時間が非常に不経済です。
➢2は、Javaヒープメモリは、オペレーティングシステムのスレッドは、JVMの仕様に応じて、システムメモリを消費し、オブジェクトによって占められ、スレッド1Mのデフォルトの最大スタックサイズは、スタック
  空間は、システムメモリから割り当てる必要があります。
  あまりにも多くのスレッドが、大量のメモリを消費します。
◆トラックがたくさん作られ、それらを置くためのスペースが必要になる場合があり、メモリ引き起こすことはありませんがきついのですか?
➢3、オペレーティングシステムは、パフォーマンスに影響を与える(誰もが実行しになりたい)頻繁にスレッドコンテキストの切り替えが必要です。

第二には、どのように正しいマルチスレッド使用するには?(スレッドプール)

➢マルチスレッド目的:CPUの同時作業を最大限に活用するには(より多くのことを行うために)

➢糸の性質:CPUへのコードの実行

➢コードを輸送するトラックの適切な数を続けます。

➢プールを構成しているスレッドの適切な数。

➢CPUを実行するには、プール、輸送タスクのスレッドプールの中に、実行すべきタスクがある場合。

第三に、スレッドプールの作品

 

第四に、手書きのスレッドプールの手順

1.タスクが何を表していますか?

 

Runnableを:インプリメンテーションのための唯一の責任ノーリターン値、。

。呼び出し可能:1戻り値、取得直接取得オブジェクトを受け取る戻り値FutureTaskを有します。

      2.例外をスローすることがあります。

2.倉庫は何で表されますか?

 

 3.コードモデル(改善します)

 

4.どのようにスレッドの適切な数を決定するには?

この問題が発生し、答えを急いではありません、最初尋ねる:サーバーの最大サイズはどのくらいですか?

参考:

 

 

 

 

おすすめ

転載: www.cnblogs.com/hujunwei/p/11915093.html