執行緒池基礎介紹
阿新 • • 發佈:2018-12-13
執行緒池的好處:
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());//拋異常,執行緒池都沒了,就不能獲取執行緒了 */ } }