スレッド プールには次の実装メソッドがあります:
Executor は現在 5 つの異なるスレッド プール作成構成を提供します:
1 , newCachedThreadPool( )
これは、多数の短期作業タスクを処理するために使用されるスレッド プールです。これには、スレッドをキャッシュして再利用しようとするという、いくつかの特徴があります。キャッシュされたスレッドが使用できない場合は、 、新しいワーカー スレッドが作成されます。スレッドが 60 秒を超えてアイドル状態になると、スレッドは終了され、キャッシュが削除されます。長時間アイドル状態の場合、このスレッド プールはリソースを消費しません。 SynchronousQueue を内部でワーク キューとして使用します。
ビデオ チュートリアルの推奨事項: java ビデオ チュートリアル
2. newFixedThreadPool (int nThreads)
指定された数 (nThreads) を再利用します。 ) スレッドは背後で無制限のワーク キューを使用し、最大で nThreads 個のワーカー スレッドが常にアクティブになります。つまり、タスクの数がアクティブなスレッドの数を超えると、アイドル状態のスレッドがワーク キューに現れるまで待機し、ワーカー スレッドが終了すると、指定された数の nThread を補うために新しいワーカー スレッドが作成されます。
3. newSingleThreadExecutor()
その特徴は、作業スレッドの数が 1 に制限され、無制限のワーク キューを操作するため、すべてのタスクが確実に実行されることです。順次実行されるため、最大 1 つのタスクがアクティブになり、ユーザーはスレッド プール インスタンスを変更できないため、スレッド数の変更を回避できます。
4、newSingleThreadScheduledExecutor() および newScheduledThreadPool(int corePoolSize)
は、スケジュールされたまたは定期的な作業スケジュールを実行できる ScheduledExecutorService を作成します。または複数のワーカー スレッド。
5. newWorkStealingPool(intParallelism)
これは無視されることが多いスレッド プールです。この作成メソッドは Java 8 でのみ追加され、ForkJoinPool が構築されます。 Work-Stealing アルゴリズムを使用すると、タスクは処理順序を保証せずに並列処理されます。
関連記事チュートリアルの共有: Java クイック スタート
以上がスレッドプールの実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。