[一]線程池存在的價值:
==>多線程技術主要解決處理器單元内多個線程執行的問題,它可以顯著減少處理器單元的閑置時間,增加處理器單元的吞吐能力。
==>假設一個伺服器完成一項任務所需時間為:T1 建立線程時間,T2 線上程中執行任務的時間,T3 銷毀線程時間。
==>如果:T1 + T3 遠大于 T2,則可以采用線程池,以提高伺服器性能。
[二]合理利用線程池能夠帶來三個好處。
* 第一:降低資源消耗。通過重複利用已建立的線程降低線程建立和銷毀造成的消耗。
* 第二:提高響應速度。當任務到達時,任務可以不需要等到線程建立就能立即執行。
* 第三:提高線程的可管理
[三]一個線程池的組成部分
(1)線程池管理器
=>其中線程池管理器的作用是建立、銷毀并管理線程池,将工作線程放入線程池中;
=>線程池管理器至少有下列功能:建立線程池,銷毀線程池,添加新任務。
(2)工作線程
=>工作線程是一個可以循環執行任務的線程,在沒有任務是進行等待;
=>工作線程是一個可以循環執行任務的線程,在沒有任務時将等待。
(3)任務列隊
=>任務列隊的作用是提供一種緩沖機制,将沒有處理的任務放在任務列隊中;
(4)任務接口等部分。
=>任務接口是每個任務必須實作的接口,主要用來規定任務的入口、任務執行完後的收尾工作、任務的執行狀态等,工作線程通過該接口排程任務的執行。
=>任務接口是為所有任務提供統一的接口,以便工作線程處理。任務接口主要規定了任務的入口,任務執行完後的收尾工作,任務的執行狀态等。
[四]模拟實作一個線程池的原理
View Code