Java スレッドプールの作成方法
Javaでは、スレッドプールを以下の2つの方法で作成できます。
- 執行人
ExecutorService executor = Executors.newFixedThreadPool(10);
上記のコードは、スレッド・プールが固定サイズ 10 で作成されます。
- スレッドプールエグゼキュータ
int corePoolSize = 5;
int maxPoolSize = 10;
long keepAliveTime = 5000; // 线程的最大空闲时间
TimeUnit unit = TimeUnit.MILLISECONDS; // 时间单位
BlockingQueue<Runnable> workQueue = new ArrayBlockingQueue<>(100); // 任务队列
ExecutorService executor = new ThreadPoolExecutor(corePoolSize, maxPoolSize, keepAliveTime, unit, workQueue);
上記のコードは、5個のコア数、最大10個のスレッド数、5000ミリ秒のアイドルタイムを持つスレッドプールを作成し、100の配列サイズを使用してブロックキューとしてタスクキューを使用します。
スレッドプールの作成方法に関係なく、Runnable の実行やスレッドプールのシャットダウンなどのスレッドプールの操作にはすべて ExecutorService インターフェイスを使用します。