施磊手寫線程池項(xiàng)目 經(jīng)典死鎖問(wèn)題分析簡(jiǎn)歷項(xiàng)目輸出指導(dǎo)
C++ 手寫線程池?
線程池采用預(yù)創(chuàng)建的技術(shù),在應(yīng)用程序啟動(dòng)之后(已報(bào)名施老師C 底部評(píng)),將立即創(chuàng)建一定數(shù)量的線程(N1),放入空閑隊(duì)列中。這些線程都是處于阻塞狀態(tài),不消耗CPU,但占用較小的內(nèi)存空間。當(dāng)任務(wù)到來(lái)后,緩沖池選擇一個(gè)空閑線程,把任務(wù)傳入此線程中運(yùn)行。
線程池使用時(shí)機(jī):
因?yàn)榫€程池可以減少線程本身創(chuàng)建和銷毀帶來(lái)的開(kāi)銷。所以如果線程本身的開(kāi)銷相對(duì)于線程任務(wù)執(zhí)行開(kāi)銷而言是可以忽略不計(jì)的,那么就沒(méi)有必要采用線程池;下面兩種情況才比較適合使用線程池:
(1) 單位時(shí)間內(nèi)處理任務(wù)頻繁而且任務(wù)處理時(shí)間短;
(2) 對(duì)實(shí)時(shí)性要求較高。如果接受到任務(wù)后在創(chuàng)建線程,可能滿足不了實(shí)時(shí)要求,因此必須采用線程池進(jìn)行預(yù)創(chuàng)建。
標(biāo)簽: