天天看點

多線程之:模拟實作線程池的工作原理

[一]線程池存在的價值:

==>多線程技術主要解決處理器單元内多個線程執行的問題,它可以顯著減少處理器單元的閑置時間,增加處理器單元的吞吐能力。   

==>假設一個伺服器完成一項任務所需時間為:T1 建立線程時間,T2 線上程中執行任務的時間,T3 銷毀線程時間。

==>如果:T1 + T3 遠大于 T2,則可以采用線程池,以提高伺服器性能。

[二]合理利用線程池能夠帶來三個好處。

 * 第一:降低資源消耗。通過重複利用已建立的線程降低線程建立和銷毀造成的消耗。

 * 第二:提高響應速度。當任務到達時,任務可以不需要等到線程建立就能立即執行。

 * 第三:提高線程的可管理

[三]一個線程池的組成部分

(1)線程池管理器

=>其中線程池管理器的作用是建立、銷毀并管理線程池,将工作線程放入線程池中;

=>線程池管理器至少有下列功能:建立線程池,銷毀線程池,添加新任務。

(2)工作線程

=>工作線程是一個可以循環執行任務的線程,在沒有任務是進行等待;

=>工作線程是一個可以循環執行任務的線程,在沒有任務時将等待。

(3)任務列隊

=>任務列隊的作用是提供一種緩沖機制,将沒有處理的任務放在任務列隊中;

(4)任務接口等部分。

=>任務接口是每個任務必須實作的接口,主要用來規定任務的入口、任務執行完後的收尾工作、任務的執行狀态等,工作線程通過該接口排程任務的執行。

=>任務接口是為所有任務提供統一的接口,以便工作線程處理。任務接口主要規定了任務的入口,任務執行完後的收尾工作,任務的執行狀态等。

[四]模拟實作一個線程池的原理

多線程之:模拟實作線程池的工作原理
多線程之:模拟實作線程池的工作原理

View Code