构建一个新的线程是有必定的代价的,因此若是程序中建立了大量的生命期很短的线程,应该使用线程池java
有如下几种方式:编程
方法 | 描述 |
newCachedThreadPool | 必要时建立新线程;空闲线程会被保留60秒 |
newFixedThreadPool | 该池包含固定数量的线程;空闲线程会一直被保留 |
newSingleThreadExecutor并发 |
只有一个线程的“池”,该线程顺序执行每个提交的任务(相似于Swing事件分配线程) |
newScheduledThreadPool线程 |
用于预约执行而构建的固定线程池,替代java.util.Timer |
newSingleThreadScheduledExecutor | 用于预约执行而构建的单线程“池” |