那為什麼要用執行緒池:
執行緒池作用就是限制系統中執行執行緒的數量。
根據系統的環境情況,可以自動或手動設定執行緒數量,達到執行的最佳效果;少了浪費了系統資源,多了造成系統擁擠效率不高。用執行緒池控制線程數量,其他執行緒排隊等候。乙個任務執行完畢,再從佇列的中取最前面的任務開始執行。若佇列中沒有等待程序,執行緒池的這一資源處於等待。當乙個新任務需要執行時,如果執行緒池中有等待的工作執行緒,就可以開始執行了;否則進入等待佇列。
為什麼要用執行緒池:
減少了建立和銷毀執行緒的次數,每個工作執行緒都可以被重複利用,可執行多個任務
可以根據系統的承受能力,調整執行緒池中工作線執行緒的數目,防止因為因為消耗過多的記憶體,而把伺服器累趴下(每個執行緒需要大約1mb記憶體,執行緒開的越多,消耗的記憶體也就越大,最後宕機)
* 執行緒池的呼叫執行緒
*/class manager implements runnable
public void run()
}
threadpool為執行緒池,我使用的jdk自帶的執行緒池的建立方法:
private static final executorservice threadpool = executors.newfixedthreadpool(5);
但是還有乙個spring 自帶的執行緒池:
private threadpooltaskexecutor threadpooltaskexecutor;
提供set方法如下:
public void setthreadpooltaskexecutor(
threadpooltaskexecutor threadpooltaskexecutor)
配置xml如下:
java學習筆記 執行緒池
1.為什麼有執行緒池?既然是乙個存放執行緒的池子,那麼,執行緒池的工作要務肯定就是控制管理執行的執行緒啦。既然要 原理,我們肯定得從原始碼說起了。我們先來介紹一下四個常見的執行緒池 四個基本執行緒池 建立單個執行緒 executors.newsinglethreadexecutor public s...
Java執行緒池
executors類詳解 此包中所定義的 executor executorservice scheduledexecutorservice threadfactory 和 callable 類的工廠和實用方法。此類支援以下各種方法 建立並返回設定有常用配置字串的 executorservice 的...
Java執行緒池
一 執行緒池 單執行緒 public static void runsinglethreadpool public static void runsinglethreadpoolwithfactory private static class mythreadfactory implements t...