首頁  >  文章  >  Java  >  Java Executors中的四種線程池是什麼

Java Executors中的四種線程池是什麼

王林
王林轉載
2023-05-14 18:01:061551瀏覽

1、線程池說明

newCachedThreadPool建立快取執行緒池,如果執行緒池的長度超過處理需要,則可以靈活回收空閒線程,如果不能回收,則可以建立新的線程。

newFixedThreadPool建立一個定長的執行緒池,可以控制執行緒的並發數,超過的執行緒在佇列中等待。

newScheduledThreadPool建立固定長執行緒池,支援定時和週期任務的執行。

newSingleThreadExecutor建立一個單執行緒化的執行緒池,只能用唯一的工作執行緒執行任務,並保證所有任務都按指定順序執行。

2、實例

class ThreadDemo extends Thread {
 
    @Override
 
    public void run() {
 
        System.out.println(Thread.currentThread().getName() + "正在执行");
 
    }
 
}
 
class TestFixedThreadPool {
 
        public static void main(String[] args) {
 
        //创建一个可重用固定线程数的线程池
 
        ExecutorService pool = Executors.newFixedThreadPool(2);
 
        //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口
 
        Thread t1 = new ThreadDemo();
 
        Thread t2 = new ThreadDemo();
 
        Thread t3 = new ThreadDemo();
 
        Thread t4 = new ThreadDemo();
 
        Thread t5 = new ThreadDemo();
 
        //将线程放入池中进行执行
 
        pool.execute(t1);
 
        pool.execute(t2);
 
        pool.execute(t3);
 
        pool.execute(t4);
 
        pool.execute(t5);
 
        //关闭线程池
 
        pool.shutdown();
 
        }
 
        }

以上是Java Executors中的四種線程池是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除