1、特点
单线程化的线程池、保证所有任务按照指定顺序执行
2、创建实例
ExecutorService executorService = Executors.newSingleThreadExecutor();
3、运行举例
ExecutorService executorService = Executors.newSingleThreadExecutor();
for (int i = 1; i < 10; i++) {
int finalI = i;
executorService.execute(() -> {
try {
System.out.println(finalI);
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
});
}
executorService.shutdown();
因为该线程池类似于单线程执行,所以先执行完前一个任务后,再顺序执行下一个任务,所以会依次输出结果。这里的单线程执行指的是线程池内部,从线程池外的角度看,主线程在提交任务到线程池时并没有阻塞,仍然是异步的。