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

alt

使用这个包之前需要先导入jar包:

alt