準備做一個系列文章,將零散的知識整理起來分享給大家,希望給大家的工作和學習帶來幫助。
目錄
1.Executor
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的實施必須是在某種特定的條件下,如在特定的時間如何執行,具體的細節可以在今後的工作中慢慢體會。