Javaでグローバルスレッドプールを作成する方法

Javaでは、Executors クラスを使用してグローバルスレッドプールを作成できます。Executors クラスには、さまざまなタイプのスレッドプールを作成する静的メソッドがいくつか用意されています。そのうち、newFixedThreadPool メソッドを使用すると、固定サイズのプールを作成できます。以下は、グローバルスレッドプールを作成する際のサンプルコードです。

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class GlobalThreadPool {
    private static final int THREAD_POOL_SIZE = 10; // 定义线程池大小

    private static ExecutorService executorService;

    public static ExecutorService getExecutorService() {
        if (executorService == null) {
            synchronized (GlobalThreadPool.class) {
                if (executorService == null) {
                    executorService = Executors.newFixedThreadPool(THREAD_POOL_SIZE); // 创建线程池
                }
            }
        }
        return executorService;
    }
}

上の例では、getExecutorServiceメソッドはスレッドセーフを保証するために二重ロックのロックを使用し、スレッドプールのインスタンスを1つだけ作成します。グローバルスレッドプールを使用する必要がある場所でgetExecutorServiceメソッドを呼び出してスレッドプールのインスタンスを取得し、タスクを実行することができます。

bannerAds