1.Java通过Executor提供线程池,为你管理Thread对象,从而简化了并发编程
构建一个新的线程是有一定的代价的,所以如果程序中创建了大量的生命期很短的线程,应该使用线程池
有以下几种方式:
方法 | 描述 |
newCachedThreadPool | 必要时创建新线程;空闲线程会被保留60秒 |
newFixedThreadPool | 该池包含固定数量的线程;空闲线程会一直被保留 |
newSingleThreadExecutor |
只有一个线程的“池”,该线程顺序执行每一个提交的任务(类似于Swing事件分配线程) |
newScheduledThreadPool |
用于预定执行而构建的固定线程池,替代java.util.Timer |
newSingleThreadScheduledExecutor | 用于预定执行而构建的单线程“池” |