1. マルチスレッドにおけるスレッド プールの原則
(1) スレッド プール内のコア スレッドがすべてタスクを実行しているかどうかを確認します。そうでない場合は (コア スレッドはアイドル状態であり、またはコアスレッドが役に立たない場合)、タスクを実行するための新しいワーカースレッドを作成します。すべてのコアスレッドがタスクを実行している場合は、次のプロセスに入ります。
(2) スレッド プールは、ワーク キューがいっぱいかどうかを判断します。ワーク キューがいっぱいでない場合、新しく送信されたタスクはこのワーク キューに保存されます。ワークキューがいっぱいの場合は、次のプロセスに進みます。
(3) スレッド プール内のスレッドが作業ステータスを処理しているかどうかを確認し、そうでない場合は、タスクを実行するための新しい作業スレッドを作成します。いっぱいの場合は、飽和戦略にこのタスクを処理させます。
2. マルチスレッドの例
public class Test implements Runnable { @Override public void run() { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } static ExecutorService service = newFixedThreadPool(3); public static void main(String[] args) { for (int i=0;i<100;i++) { service.execute(new Test()); } service.shutdown(); } }
以上がJava マルチスレッド実装の原則と関連する知識ポイントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。