天天看點

線程池

1定義單例設計模式

public class ThreadPoolManager {

    private ExecutorService service;

    private ThreadPoolManager(){

        int num = Runtime.getRuntime().availableProcessors(); //擷取目前系統的CPU數目

        service = Executors.newFixedThreadPool(num*2);//ExecutorService 通常根據系統資源情況靈活定義線程池大小。

    }

    private static final ThreadPoolManager manager= new ThreadPoolManager();

    public static ThreadPoolManager getInstance(){

        return manager;

    public void addTask(Runnable runnable){

        service.execute(runnable);

}

2 調用 

private ThreadPoolManager threadPoolManager;

            threadPoolManager = ThreadPoolManager.getInstance();

  3 生成

    BaseTask taskThread = new BaseTask() //線程類--擷取資料

        this.threadPoolManager.addTask(taskThread);//将建立的現成添加入線程池

歲月裡,寒暑交替。人世間,北來南往。銘心的,雲煙的。都付往事,不念,不問。