java线程池之newSingleThreadExecutor
程序员文章站
2022-05-16 18:33:47
...
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();
因为该线程池类似于单线程执行,所以先执行完前一个任务后,再顺序执行下一个任务,所以会依次输出结果。这里的单线程执行指的是线程池内部,从线程池外的角度看,主线程在提交任务到线程池时并没有阻塞,仍然是异步的。
推荐阅读
-
详解Java线程池和Executor原理的分析
-
Java concurrency线程池之线程池原理(一)_动力节点Java学院整理
-
Java concurrency线程池之线程池原理(二)_动力节点Java学院整理
-
Java class文件格式之常量池_动力节点Java学院整理
-
Java concurrency线程池之线程池原理(四)_动力节点Java学院整理
-
Java concurrency线程池之线程池原理(三)_动力节点Java学院整理
-
Java concurrency线程池之Callable和Future_动力节点Java学院整理
-
JAVA线程池原理实例详解
-
深入理解Java编程线程池的实现原理
-
浅谈Java线程间通信之wait/notify