Java執行緒池自學手冊Executor的使用
阿新 • • 發佈:2019-01-10
準備做一個系列文章,將零散的知識整理起來分享給大家,希望給大家的工作和學習帶來幫助。
目錄
2.ExecutorService
3.Executors
4.ThreadPoolExecutor
5.ScheduledExecutorService
6.ScheduledThreadPoolExecutor
一.Executor介紹
說明:這個介面只有一個方法,主要實現了Runnable介面的任務,當初設計者設計這個介面時是想把任務和“任務的執行方法”、“執行緒的排程和使用”分離開來,想用來替代直接用Thread的方式。下面我們就來一起學習下這個介面的簡單使用。
1.方法
void execute(Runnable command); //執行一個實現了Runnable介面的任務
2.類繼承結構
圖
3.程式碼演示
public class ExecutorDemo { public static void main(String[] args) { Executor executor = Executors.newCachedThreadPool(); Runnable run1 = new Runnable() { @Override public void run() { System.out.println(Thread.currentThread().getName() + "建立一個無界可自動回收執行緒池"); } }; Runnable run2 = new Runnable() { @Override public void run() { System.out.println(Thread.currentThread().getName() + "建立一個無界可自動回收執行緒池"); } }; Runnable run3 = new Runnable() { @Override public void run() { System.out.println(Thread.currentThread().getName() + "建立一個無界可自動回收執行緒池"); } }; executor.execute(run1); executor.execute(run3); executor.execute(run2); } }
二.總結
這篇文章初步介紹了Executor的使用方法,只有一個介面,通常用於將任務分解為單獨的task,每個task即可以執行在新執行緒中又可以執行在呼叫執行緒中。很多時候Executor的使用要求task的實施必須是在某種特定的條件下,如在特定的時間如何執行,具體的細節可以在今後的工作中慢慢體會。