Java并发编程系列之五:自定义线程工厂

本文阅读 1 分钟

问题

我们在排查和定位现场问题时,通常希望明确这个线程池里面的线程到底是完成什么的什么任务,所以需要指定对应线程的线程名称。

解决方式

在创建线程池的时候,我们可以使用自定义的线程工厂,该线程工厂中可以指明线程名称,这样我们在排查问题时就可以知道,此处的多线程具体完成的任务名称是什么,方便进行后续的问题定位与排查。

public class CustomThreadFactory implements ThreadFactory { 


    /** * 线程号 */
    private final AtomicInteger threadNum = new AtomicInteger(1);

    /** * 线程名称 */
    private String threadName;

    public DetectorThreadFactory(String threadName) { 
        this.threadName = threadName + "-";
    }

    @Override
    public Thread newThread(Runnable r) { 
        Thread thread = new Thread(r);
        thread.setName(threadName + threadNum.getAndIncrement());
        return thread;
    }
}
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/Diamond_Tao/article/details/103459618
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复