溫馨提示×

Java中threadpoolexecutor怎么配置

小億
86
2024-02-26 10:33:29
欄目: 編程語言

在Java中,可以通過配置ThreadPoolExecutor的構(gòu)造器來創(chuàng)建一個(gè)線程池,并設(shè)置一些參數(shù)來控制線程池的行為。下面是一個(gè)示例代碼,演示了如何配置ThreadPoolExecutor:

import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建一個(gè)線程池,其中包含5個(gè)線程
        ThreadPoolExecutor executor = new ThreadPoolExecutor(
            5, // 核心線程數(shù)
            10, // 最大線程數(shù)
            60, // 空閑線程存活時(shí)間
            TimeUnit.SECONDS, // 時(shí)間單位
            new LinkedBlockingQueue<Runnable>() // 阻塞隊(duì)列
        );
        
        // 設(shè)置拒絕策略為直接拋出異常
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());
        
        // 執(zhí)行任務(wù)
        executor.execute(new MyTask());
        
        // 關(guān)閉線程池
        executor.shutdown();
    }
}

class MyTask implements Runnable {
    @Override
    public void run() {
        System.out.println("Hello from MyTask!");
    }
}

在上面的示例代碼中,我們創(chuàng)建了一個(gè)ThreadPoolExecutor對象,并設(shè)置了核心線程數(shù)為5,最大線程數(shù)為10,空閑線程存活時(shí)間為60秒,阻塞隊(duì)列為LinkedBlockingQueue。然后我們設(shè)置了拒絕策略為直接拋出異常,最后執(zhí)行了一個(gè)任務(wù)并關(guān)閉了線程池。你可以根據(jù)自己的需求來配置ThreadPoolExecutor的參數(shù),以滿足不同的場景需求。

0