執行緒池學習

2022-03-30 12:04:28 字數 491 閱讀 4441

執行緒池是一種多執行緒處理形式,處理過程中將任務新增到佇列,然後在建立執行緒後自動啟動這些任務。

1.減少在建立和銷毀執行緒上所花的時間以及系統資源的開銷

2.避免因系統建立大量執行緒而導致消耗完系統記憶體的情況出現

這裡模擬資料庫連線池,這種「池」的作用一般就是兩點:

1、需要大量的執行緒來完成任務,且完成任務的時間比較短。 web伺服器完成網頁請求這樣的任務,使用執行緒池技術是非常合適的。因為單個任務小,而任務數量巨大,你可以想象乙個熱門**的點選次數。 但對於長時間的任務,比如乙個telnet連線請求,執行緒池的優點就不明顯了。因為telnet會話時間比執行緒的建立時間大多了。

2、對效能要求苛刻的應用,比如要求伺服器迅速響應客戶請求。

3、接受突發性的大量請求,但不至於使伺服器因此產生大量執行緒的應用。突發性大量客戶請求,在沒有執行緒池情況下,將產生大量執行緒,雖然理論上大部分作業系統執行緒數目最大值不是問題,短時間內產生大量執行緒可能使記憶體到達極限,並出現"outofmemory"的錯誤。

執行緒池學習

執行緒池的基本原理 在傳統伺服器中,常有乙個總監聽程序監聽有無新的使用者連線伺服器,每當有乙個新的使用者接入,伺服器就開啟乙個新的執行緒使用者處理這個使用者的資料報,這個執行緒只服務於這個使用者,當使用者與伺服器端關閉連線以後,伺服器端銷毀這個執行緒。然而,頻繁的開啟與關閉服務程序極大的占用系統資源...

執行緒池學習

threadpoolexecutor int corepoolsize,int maximumpoolsize,long keepalivetime,timeunit unit,blockingqueueworkqueue,threadfactory threadfactory,rejectedex...

執行緒池學習

三 threadpoolexecutor 四 擴充套件執行緒池 總結在使用所執行緒進行開發時,為了避免系統頻繁地建立和銷毀執行緒,我們可以使用執行緒池技術。executors類扮演著執行緒工廠的角色,使用該類的靜態方法可以獲取特點功能的執行緒池。該方法返回固定執行緒數量的執行緒池。linkedblo...