構建一個新的線程是有必定的代價的,因此若是程序中建立了大量的生命期很短的線程,應該使用線程池java
有如下幾種方式:編程
方法 | 描述 |
newCachedThreadPool | 必要時建立新線程;空閒線程會被保留60秒 |
newFixedThreadPool | 該池包含固定數量的線程;空閒線程會一直被保留 |
newSingleThreadExecutor併發 |
只有一個線程的「池」,該線程順序執行每個提交的任務(相似於Swing事件分配線程) |
newScheduledThreadPool線程 |
用於預約執行而構建的固定線程池,替代java.util.Timer |
newSingleThreadScheduledExecutor | 用於預約執行而構建的單線程「池」 |