ホームページ  >  記事  >  Java  >  Javaスレッドプールとは何ですか

Javaスレッドプールとは何ですか

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-11-13 09:23:262420ブラウズ

Javaスレッドプールとは何ですか

スレッド プールを使用すると、システム リソースのコストの節約、スレッドの作成と破棄にかかる時間の節約など、多くの利点があります。より多くのタスクを処理する必要がある場合、スレッドプールは使えますが、Javaスレッドプールの使い方が分からない方も多いのではないでしょうか?今日は、Java で 4 つのスレッド プールを使用する方法を説明します。

スレッド プールの概要:

スレッド プールはマルチスレッド処理の一種で、タスクは処理中にキューに追加され、処理後に自動的に追加されます。スレッドが作成されるので、これらのタスクを開始します。スレッド プールのスレッドはバックグラウンド スレッドです。各スレッドはデフォルトのスタック サイズを使用し、デフォルトの優先順位で実行され、マルチスレッド アパートメント内にあります。マネージ コード内でスレッドがアイドル状態になっている場合 (イベントの待機中など)、スレッド プールは別のワーカー スレッドを挿入して、すべてのプロセッサをビジー状態に保ちます。すべてのスレッド プールのスレッドが常にビジー状態であり、キューに保留中の作業が含まれている場合、スレッド プールはしばらくしてから別のワーカー スレッドを作成しますが、スレッドの数が最大値を超えることはありません。最大数を超えるスレッドはキューに入れることができますが、他のスレッドが終了するまで開始されません。

Java での 4 つのスレッド プールの使用:

Java は、Executor を通じて次の 4 つのスレッド プールを提供します。 newCachedThreadPool はキャッシュ可能なスレッド プールを作成します。スレッド プールの長さが処理の必要性を超えた場合、アイドル状態のスレッドは柔軟にリサイクルできます。リサイクルする方法がない場合は、新しいスレッドが作成されます。

newFixedThreadPool は、同時スレッドの最大数を制御できる固定長のスレッド プールを作成します。超過したスレッドはキューで待機します。

newScheduledThreadPool は、スケジュールされた定期的なタスクの実行をサポートする固定長のスレッド プールを作成します。

newSingleThreadExecutor は、タスクの実行に唯一の作業スレッドのみを使用するシングルスレッド スレッド プールを作成し、すべてのタスクが指定された順序 (FIFO、LIFO、優先順位) で実行されるようにします。

多くの
Java トレーニング ビデオ

はすべて PHP 中国語 Web サイトにあります。オンラインで学習することを歓迎します。

以上がJavaスレッドプールとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。