package com.ydlclass.thread;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
public class myThreadFactory implements ThreadFactory {
//在自定义的线程工厂中,编写一个属于自己的线程创建方式
private static final AtomicInteger poolNumber = new AtomicInteger(1);
private final String namePrefix;
myThreadFactory(String prefix) {//自定义的线程工厂的名字;
//SecurityManager s = System.getSecurityManager();
// group = (s != null) ? s.getThreadGroup() :
// Thread.currentThread().getThreadGroup();
namePrefix = prefix +//灵活构造自己想要的线程工厂的名字,实现自定义的功能
poolNumber.getAndIncrement() +
"-thread-";
}
@Override
public Thread newThread(Runnable r) {
return new Thread(r,namePrefix);
}
}
线程工厂的中名字一般的自定义简单介绍;有时自己的线程工厂可能存在安全性问题;更多的时候使用的是别人写好的线程工厂:
1.google的guava工具类提供的ThreadFactoryBuilder,
2.apache common_lang3提供的BasicThreadFactory
使用这个包之前需要先导入jar包: