Java スレッドプールの作成方法

Javaでは、スレッドプールを以下の2つの方法で作成できます。

  1. 執行人
ExecutorService executor = Executors.newFixedThreadPool(10);

上記のコードは、スレッド・プールが固定サイズ 10 で作成されます。

  1. スレッドプールエグゼキュータ
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 インターフェイスを使用します。

bannerAds