1. 程式人生 > >Java執行緒池自學手冊Executor的使用

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