Java线程池中三种方式创建 ThreadFactory 设置线程名称 您所在的位置:网站首页 线程名称设置的方式有哪些类型 Java线程池中三种方式创建 ThreadFactory 设置线程名称

Java线程池中三种方式创建 ThreadFactory 设置线程名称

2024-07-11 10:21| 来源: 网络整理| 查看: 265

本文讲一下Java线程池中创建 ThreadFactory 设置线程名称的三种方式。设置线程名称是很重要的,如果你没有设置过,说明你还“涩世”不深,这里面的坑还不曾踩过,而我 在坑里进去然后坑里出来,被坑的那是一个相当的爽啊~

为了让不重蹈我的覆辙,为了未来不说起来都是满眼含着“热泪”,还是看下如何设置,顺便也设置设置。

文章目录

第一种 CustomizableThreadFactory 第二种 ThreadFactoryBuilder 第三种 BasicThreadFactory 总结 image.png

第一种 CustomizableThreadFactory Spring 框架提供的 CustomizableThreadFactory。

ExecutorService exec = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(10),springThreadFactory); exec.submit(() -> { logger.info("--记忆中的颜色是什么颜色---"); });

第二种 ThreadFactoryBuilder Google guava 工具类 提供的 ThreadFactoryBuilder ,使用链式方法创建。

ThreadFactory guavaThreadFactory = new ThreadFactoryBuilder().setNameFormat("retryClient-pool-").build(); ExecutorService exec = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(10),guavaThreadFactory ); exec.submit(() -> { logger.info("--记忆中的颜色是什么颜色---"); });

第三种 BasicThreadFactory Apache commons-lang3 提供的 BasicThreadFactory.

ThreadFactory basicThreadFactory = new BasicThreadFactory.Builder() .namingPattern("basicThreadFactory-").build(); ExecutorService exec = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(10),basicThreadFactory ); exec.submit(() -> { logger.info("--记忆中的颜色是什么颜色---"); }); 总结

最终本质都是 给 java.lang.Thread#name 设置名称,详情源码感兴趣的可以自行查看。

final Thread thread = new Thread(); thread.setName(name);

本文分享到此结束,欢迎积极留言哦~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有