Executors 類提供了一系列靜態工廠方法用於建立各類線程池。緩存
創建固定大小的線程池。每次提交一個任務就建立一個線程,直到線程達到線程池的最大大小。
線程池的大小一旦達到最大值就會保持不變,若是某個線程由於執行異常而結束,那麼線程池會補充一個新線程。spa
若是線程池中的全部線程都處於活動狀態,此時再提交任務就在隊列中等待,直到有可用線程。操作系統
建立一個單線程的線程池。這個線程池只有一個線程在工做,也就是至關於單線程串行執行全部任務。若是這個惟一的線程由於異常結束,那麼會有一個新的線程來替代它。
此線程池保證全部任務的執行順序按照任務的提交順序執行。線程
建立一個可緩存的線程池。3d
若是線程池的大小超過了處理任務所須要的線程,那麼就會回收部分空閒(60秒不執行任務)的線程,當任務數增長時,此線程池又能夠智能的添加新線程來處理任務。
此線程池不會對線程池大小作限制,線程池大小徹底依賴於操做系統(或者說JVM)可以建立的最大線程大小。blog
建立一個可延遲執行或按期執行的線程池隊列