concurrent包提供了Executors工具類垦写,利用它可以創(chuàng)建各種不同類型的線程池。
1.四種對比
- newSingleThreadExecutor:創(chuàng)建一個單線程化的線程池凝危,它只會用唯一的工作線程來執(zhí)行任務(wù)昆烁,保證所有任務(wù)按照指定順序(FIFO, LIFO, 優(yōu)先級)執(zhí)行持痰。
- newFixedThreadPool:創(chuàng)建一個定長線程池,可控制線程最大并發(fā)數(shù)邀桑,超出的線程會在隊列中等待瞎疼。
- newCachedThreadPool:創(chuàng)建一個可緩存線程池,如果線程池長度超過處理需要壁畸,可靈活回收空閑線程贼急,若無可回收,則新建線程捏萍。
- newScheduledThreadPool:創(chuàng)建一個可定期或者延時執(zhí)行任務(wù)的定長線程池太抓,支持定時及周期性任務(wù)執(zhí)行。