線程池作用就是限制系統(tǒng)中執(zhí)行線程的數(shù)量。
根據(jù)系統(tǒng)的環(huán)境情況逾一,可以自動(dòng)或手動(dòng)設(shè)置線程數(shù)量铸本,達(dá)到運(yùn)行的最佳效果;少了浪費(fèi)資源遵堵,多了造成系統(tǒng)擁擠效率不高箱玷。用線程池控制線程數(shù)量,其他線程排隊(duì)等候陌宿。
一個(gè)任務(wù)執(zhí)行完畢锡足,再從隊(duì)列中取最前面的任務(wù)開始執(zhí)行。若隊(duì)列中沒有等待線程壳坪,線程池的這一資源處于等待舶得。當(dāng)一個(gè)新任務(wù)需要運(yùn)行時(shí),如果線程池中有等待的工作線程爽蝴,就可以開始運(yùn)行了沐批;否則進(jìn)入等待隊(duì)列。
為什么要用線程池
1蝎亚、減少了創(chuàng)建和銷毀線程的次數(shù)九孩,每個(gè)工作線程都可以被重復(fù)利用、可執(zhí)行多個(gè)任務(wù)颖对。
2捻撑、可以根據(jù)系統(tǒng)的承受能力,調(diào)整線程池中工作線程的數(shù)量缤底。防止因?yàn)橄倪^多的內(nèi)存顾患,而把服務(wù)器累趴下(每個(gè)線程需要大約1mb內(nèi)存,線程開的越多个唧,消耗的內(nèi)存也就越大江解,最后可能造成死機(jī))。