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