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中文網其他相關文章!