Java 创建线程方式的典型错误观点一: 线程池创建线程也算是一种新建线程的方式 Executors源码分析
发布日期:2021-06-30 13:11:38 浏览次数:2 分类:技术文章

本文共 1012 字,大约阅读时间需要 3 分钟。

文章目录

错误观点一: 线程池创建线程也算是一种新建线程的方式

使用线程池创建线程的方式

import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 类名称:Task * 类描述:  线程池创建线程 * * @author: https://javaweixin6.blog.csdn.net/ * 创建时间:2020/8/15 20:57 * Version 1.0 */public class ThreadPool {
public static void main(String[] args) {
ExecutorService executorService = Executors.newCachedThreadPool(); for (int i = 0; i < 1000; i++) {
// 提交任务, 传入实现 Runnable接口的Task类 executorService.submit(new Task() {
}); } }}/** * 内部类去实现Runnable 接口 */class Task implements Runnable {
@Override public void run() {
try {
Thread.sleep(500); } catch (InterruptedException e) {
e.printStackTrace(); } System.out.println(Thread.currentThread().getName()); }}

执行main方法, 控制台打印如下. 可以看到线程的名称不同, 成功的创建了线程.

但是深入Executors类源码中, 可以看到其中有一个静态内部类DefaultThreadFactory,用于创建线程. 里面创建线程的本质还是为给Thread类中, 构造方法传入Runnable 接口.

转载地址:https://javaweixin6.blog.csdn.net/article/details/108028559 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java 创建线程方式的典型错误观点: 通过Callable和FutureTask创建线程是一种新建线程的方式
下一篇:Java 同时用Thread类和Runnable接口的方式 创建线程

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月06日 17时47分26秒