1. 程式人生 > >執行緒池基礎介紹

執行緒池基礎介紹

執行緒池的好處:
1.降低資源消耗
2.提高響應速度
3.提高執行緒的可管理性

執行緒池的使用步驟:
1.使用執行緒池的工廠類Executors裡邊提供的靜態方法newFixedThreadPool生產一個指定執行緒數量的執行緒池
2.建立一個類,實現Runnable介面,重寫run方法,設定執行緒任務
3.呼叫ExecutorService中的方法submit,傳遞執行緒任務(實現類),開啟執行緒,執行run方法
4.呼叫ExecutorService中的方法shutdown銷燬執行緒池(不建議執行)

//2.建立一個類,實現Runnable介面,重寫run方法,設定執行緒任務
public class RunnableImpl implements Runnable{
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName()+"建立了一個新的執行緒,執行");
    }
}

public class Test01 {
    public static void main(String[] args) {
        //1.使用執行緒池的工廠類Executors裡邊提供的靜態方法newFixedThreadPool生產一個指定執行緒數量的執行緒池
        ExecutorService es = Executors.newFixedThreadPool(2);
        //3.呼叫ExecutorService中的方法submit,傳遞執行緒任務(實現類),開啟執行緒,執行run方法
        es.submit(new RunnableImpl());//pool-1-thread-1建立了一個新的執行緒,執行
        //執行緒池會一直開啟,使用完了執行緒,會自動把執行緒歸還給執行緒池,執行緒池可以繼續使用
        es.submit(new RunnableImpl());//pool-1-thread-1建立了一個新的執行緒,執行
        es.submit(new RunnableImpl());//pool-1-thread-2建立了一個新的執行緒,執行
        /*
        es.shutdown();//4.呼叫ExecutorService中的方法shutdown銷燬執行緒池(不建議執行)
        es.submit(new RunnableImpl());//拋異常,執行緒池都沒了,就不能獲取執行緒了
        */

    }
}