Java中如何创建ThreadFactory时设置线程名称呢?
									
下文笔者讲述使用ThreadFactory设置线程名称的方法分享,如下所示:
方式一:
例
方式二:
例:
方式三:BasicThreadFactory
例:
当然我们也可用使用java.lang.Thread线程类,对线程名称进行相应的设置
				 
				方式一:
使用Spring框架的CustomizableThreadFactory
例
ThreadFactory springThreadFactory = new CustomizableThreadFactory("springThread-pool-");
ExecutorService exec = new ThreadPoolExecutor(1, 1,
		0L, TimeUnit.MILLISECONDS,
		new LinkedBlockingQueue<Runnable>(10),springThreadFactory);
exec.submit(() -> {
	logger.info("--日志");
});
方式二:
使用google guava工具类中的ThreadFactoryBuilder链式方式创建
例:
ThreadFactory guavaThreadFactory = new ThreadFactoryBuilder().setNameFormat("retryClient-pool-").build();
ExecutorService exec = new ThreadPoolExecutor(1, 1,
		0L, TimeUnit.MILLISECONDS,
		new LinkedBlockingQueue<Runnable>(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<Runnable>(10),basicThreadFactory );
exec.submit(() -> {
	logger.info("--日志---");
});
 
当然我们也可用使用java.lang.Thread线程类,对线程名称进行相应的设置
final Thread thread = new Thread(); thread.setName(name);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

 
			 
                
                
                
               
 
          

