Java線程池自學手冊Executor的使用

準備做一個系列文章,將零散的知識整理起來分享給大家,希望給大家的工作和學習帶來幫助。

目錄

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的實施必須是在某種特定的條件下,如在特定的時間如何執行,具體的細節可以在今後的工作中慢慢體會。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章