关于线程池的创建,可以直接使用Executor所属的方法来创建,代码如下。
//可重用固定个数线程池,以共享的无界队列方式来运行这些线程
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(int n);
//可缓存线程池
ExecutorService cachedThreadPool = Executors.newCachedThreadPool();
//单线程化线程池,只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行
ExecutorService singleThreadPool = Executors.newSingleThreadExecutor();
//定长线程池,支持定时以及周期性任务执行
ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(int n);
需要注意的是,虽然这四种线程池都属于java.util.concurrent包下,但是ScheduledThreadPool和其他三种线程池不在同一个包下,代码如下
import java.util.concurrent.ExecutorService;
import java.util.co