スレッド プールは、処理中にタスクをキューに追加し、スレッドの作成後にこれらのタスクを自動的に開始するマルチスレッド処理の形式です。スレッド プールのスレッドはバックグラウンド スレッドです。各スレッドはデフォルトのスタック サイズを使用し、デフォルトの優先順位で実行され、マルチスレッド アパートメント内にあります。
スレッドがマネージ コード内でアイドル状態 (イベントの待機中など) にある場合、スレッド プールは別のスレッドを挿入します。ワーカー スレッドを使用して、すべてのプロセッサをビジー状態に保ちます。
すべてのスレッド プールのスレッドが常にビジー状態であり、キューに保留中の作業が含まれている場合、スレッド プールはしばらくしてから別のワーカー スレッドを作成しますが、スレッドの数が最大値を超えることはありません。最大数を超えるスレッドはキューに入れることができますが、他のスレッドが終了するまで開始されません。 (推奨学習:
java コースJava での 4 つのスレッド プールの使用:
Java はエグゼキュータを通じて 4 つのスレッド プールを提供します
newCachedThreadPool は、キャッシュ可能なスレッド プールを作成します。スレッド プールの長さが処理の必要性を超えた場合、アイドル状態のスレッドは柔軟にリサイクルできます。リサイクルがない場合は、新しいスレッドが作成されます。
newFixedThreadPool は、同時スレッドの最大数を制御できる固定長のスレッド プールを作成します。超過したスレッドはキューで待機します。
newScheduledThreadPool は、スケジュールされた定期的なタスクの実行をサポートする固定長のスレッド プールを作成します。
newSingleThreadExecutor は、タスクの実行に唯一の作業スレッドのみを使用するシングルスレッド スレッド プールを作成し、すべてのタスクが指定された順序 (FIFO、LIFO、優先順位) で実行されるようにします。
キャッシュ可能なスレッド プールを作成します。スレッド プールの長さが処理の必要性を超えた場合、アイドル状態のスレッドを柔軟にリサイクルできます。リサイクルして、新しいスレッドを作成します。サンプルコードは次のとおりです:
package test; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ThreadPoolExecutorTest { public static void main(String[] args) { ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); for (int i = 0; i < 10; i++) { final int index = i; try { Thread.sleep(index * 1000); } catch (InterruptedException e) { e.printStackTrace(); } cachedThreadPool.execute(new Runnable() { public void run() { System.out.println(index); } }); } } }
以上がJavaのスレッドプールとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
