Android中的線程池都是之間或間接通過配置ThreadPoolExecutor來實現(xiàn)不同特性的線程池.Android中最常見的四類具有不同特性的線程池分別為FixThreadPool掸宛、CachedThreadPool、SingleThreadPool倍靡、ScheduleThreadExecutor.
1.FixThreadPool
只有核心線程,并且數(shù)量固定的,也不會被回收,所有線程都活動時,因為隊列沒有限制大小,新任務(wù)會等待執(zhí)行.
優(yōu)點:更快的響應(yīng)外界請求.
2.SingleThreadPool
只有一個核心線程,確保所有的任務(wù)都在同一線程中按順序完成.因此不需要處理線程同步的問題.
3.CachedThreadPool
只有非核心線程,最大線程數(shù)非常大,所有線程都活動時,會為新任務(wù)創(chuàng)建新線程,否則會利用空閑線程(60s空閑時間,過了就會被回收,所以線程池中有0個線程的可能)處理任務(wù).
- 優(yōu)點
任何任務(wù)都會被立即執(zhí)行(任務(wù)隊列SynchronousQueue相當(dāng)于一個空集合);比較適合執(zhí)行大量的耗時較少的任務(wù).
4.ScheduledThreadPool
核心線程數(shù)固定,非核心線程(閑著沒活干會被立即回收)數(shù)沒有限制.
- 優(yōu)點
執(zhí)行定時任務(wù)以及有固定周期的重復(fù)任務(wù)
參考Android開發(fā)——Android中常見的4種線程池
http://blog.csdn.net/seu_calvin/article/details/52415337