Concurrent包中主要包括四种线程池:
方法 | 说明 |
Executors.newSingleThreadExecutor | 单个线程执行,任何时刻只有一个线程在执行 |
Executors.newCachedThreadPool | 随着不停提交任务,如果已经有空闲的线程则会复用,没有则创建,线程空闲默认60s会被移除。因此,如果一次性提交大量任务,有可能创建大量线程 |
Executors.newFixedThreadPool | 创建最多N个线程,这些线程回去消费提交的任务。退出时要注意调用shutdown方法,不然已创建的线程会一直存在,即使线程池对象被回收 |
Executors.newScheduledThreadPool | 创建固定数目的线程,提交的线程可以被排计划,如按照频率执行,延迟多久执行等,具体可参考对应api。 |
参考 线程池简介http://blog.csdn.net/sd0902/article/details/8395677