關於執行緒池ThreadPoolExecutor

2021-08-29 10:14:43 字數 507 閱讀 5699

threadpoolexecutor executor = new threadpoolexecutor(3, 8, 3, timeunit.seconds,new linkedblockingqueue());
這個執行緒池一共有5個引數:

第乙個引數:執行緒池核心執行緒的個數

第二個引數:執行緒池中的最大執行緒數,超過最大執行緒會把其他執行緒任務放進第四個引數也就是佇列裡等待排程

第三個和第四個結合起來使用,第三個是執行緒空閒等待的時間 long 型別,第四個是時間的單位,timeunit裡有各種時間單位。

當執行緒空閒後會等待這裡設定的時間數,如果到達任然沒有呼叫就進行銷毀,銷毀至核心執行緒的個數,(但是這裡注意執行緒池剛建立的時候執行緒個數是0,只有呼叫了才會建立。)

第五個是佇列,開啟原始碼後可以看見有幾種佇列。

threadpool.execute(new runnable() 

});

這個執行執行緒呼叫的方法。

執行緒池 Thread Pool

烽驛2009開源實時通訊平台 原始碼獲取 svn checkouthttp fy2009.googlecode.com svn trunk fy2009 read only 眾所周知,執行緒並非越多越好,理論上乙個cpu 或core 乙個活動執行緒可獲得最佳效能。執行緒池可根據具體硬體的情況 如cp...

ThreadPool(執行緒池)

任務後台基礎 執行緒池。建立執行緒需要時間。如果有不同的短任務要完成,就可以事先建立許多執行緒,在應完成這些任務時發出請求,這個執行緒最好在需要更多的執行緒時增加,在需要釋放資源時減少。不需要自己建立這樣的乙個列表,該錶由threadpool類託管,這個類會在需要時增減池中線程的執行緒數,直到達到最...

ThreadPool 執行緒池

最近在做通訊的專案,裡面需要使用點執行緒池,這裡做下筆記,歡迎指點!執行緒池功能 應用程式可以有多個執行緒,net框架為每個程序提供了乙個執行緒池,乙個執行緒池有若干個等待操作狀態,當乙個等待操作完成時,執行緒池中的輔助線程會執行 函式。執行緒池中的執行緒由系統管理,程式設計師不需要費力於執行緒管理...