1. 程式人生 > 其它 >Java多執行緒(七)-執行緒池

Java多執行緒(七)-執行緒池

八.執行緒池

對於經常建立,使用量大的資源,如併發情況下的執行緒,對效能影響很大。為解決此問題,可提前建立多個執行緒,放入執行緒池中,使用時直接獲取,使用之後放回池中。

java jdk提供了ExecutorServiceExecutors

ExecutorService

void execute(Runnable command):執行命令,沒有返回值。(Runnable)

<T>Future<T>submit(Callable<T> task):執行任務,有返回值。(Callable)

void shutdown():關閉連線池

Executors: 執行緒池的工具類,用於建立並返回不同型別的執行緒池

public class Pool implements Runnable{
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }

    public static void main(String[] args) {
        // 建立執行緒池,大小為6
        ExecutorService executorService = Executors.newFixedThreadPool(6);

        // 執行
        executorService.execute(new Pool());
        executorService.execute(new Pool());
        executorService.execute(new Pool());

        // 關閉
        executorService.shutdown();
    }
}