第80條 executor宫仗、task 和 stream 優(yōu)先于線程
- 等待一個(gè)任務(wù)集合中的任何任務(wù)或者所有任務(wù)完成->
invokeAny
或invokeAll
- 可以等待 executor service 終止->
awaitTermination
- 對(duì)于小的程序彻坛,或者輕載的服務(wù)器寂祥,使用
Executors.newCachedThreadPool
- 在大負(fù)載的產(chǎn)品服務(wù)器中衣吠,最好使用
Executors.newFixedThreadPool
- 您直接使用線程時(shí),線程既可以作為工作單元壤靶,也可以作為執(zhí)行它的機(jī)制缚俏。在 executor Framework 中,工作單元和執(zhí)行機(jī)制是分開(kāi)的。抽象的關(guān)鍵是工作單元忧换,也就是任務(wù)
思考
- 一般來(lái)說(shuō)線程池就是為了復(fù)用線程的恬惯,不會(huì)手動(dòng)關(guān)閉。一般使用將線程池設(shè)置為靜態(tài)的從而達(dá)到復(fù)用的目的