一、定義:提供了乙個執行緒佇列,佇列中儲存著所有等待的執行緒。
作用:避免了建立與銷毀額外開銷,提高了相應的速度。
二、執行緒池的體系結構
|–**executorservice 子介面:執行緒池的主要介面
|–threadpoolexecutor 實線類
|–scheduledexecutorservice 子介面:負責執行緒的調
|–scheduledthreadpoolexecutor : 繼承threadpoolexecutor,實現scheduledthreadpoolexecutor
三、工具類:executors
executorservice newfixedthreadpool():建立固定大小的執行緒池。
executorservice newcachedthreadpool():快取執行緒池,執行緒池的數量不固定,可以根據需求自動的更改數量。
executorservice newsinglethreadexecutor():建立單個執行緒池,執行緒池中只有乙個執行緒。
scheduledexecutorservice newschedulethreadpool():建立固定大小的執行緒,可以延遲定時執行任務。
四、執行緒池案例**:
public class testthreadpool
return sum;
}});
list.add(future);
}for (futurefuture : list)
pool.shutdown();
//方式一:
threadpooldemo td = new threadpooldemo();
//2、為執行緒池中的執行緒分配任務
for (int i = 0;i<=10;i++)
//3、關閉執行緒池
pool.shutdown();//平和的方式關閉執行緒池
不管執行緒是否結束,都會立即結束
}class threadpooldemo implements runnable
}固定執行緒,延遲執行**:
public class testscheduledthreadpool
},3, timeunit.seconds);//設定執行緒間隔多久執行一次,如每3s一執行
system.out.println(result.get());
}pool.shutdown();//關閉執行緒池
}
J U C執行緒池
執行緒的建立和切換都是代價比較大的。所以,我們需要有乙個好的方案能做到執行緒的復用,這就涉及到乙個概念 執行緒池。合理的使用執行緒池能夠帶來3個很明顯的好處 降低資源消耗 通過重用已經建立的執行緒來降低執行緒建立和銷毀的消耗 提高響應速度 任務到達時不需要等待執行緒建立就可以立即執行。提高執行緒的可...
j u c執行緒 執行緒池
final void runworker worker w catch runtimeexception x catch error x catch throwable x finally finally completedabruptly false finally private runnabl...
JUC 執行緒池數量
去乙個網頁抓資料儲存到資料庫中,這個過程也就1秒中吧 執行緒池fixedthreadpool配製多少合適?如果是cpu密集型應用,則執行緒池大小設定為n 1 n為cpu的核數 如果是io密集型應用,則執行緒池大小設定為2n 1 這裡去乙個網頁抓資料 需要建立http請求響 io 應後拿到資料,然後再...