package cn.flightfeather.supervision.infrastructure.service;
|
|
import java.util.concurrent.ThreadFactory;
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
// 自定义线程工厂类
|
public class NamedThreadFactory implements ThreadFactory {
|
|
// a thread counter
|
private static AtomicInteger counter = new AtomicInteger(1);
|
private String name = "Adam";
|
private boolean daemon; // 守护线程
|
private int priority; // 线程优先级
|
|
public NamedThreadFactory(String name) {
|
this(name, false, -1);
|
}
|
|
public NamedThreadFactory(String name, boolean daemon) {
|
this(name, daemon, -1);
|
}
|
|
public NamedThreadFactory(String name, boolean daemon, int priority) {
|
this.name = name;
|
this.daemon = daemon;
|
this.priority = priority;
|
}
|
|
@Override
|
public Thread newThread(Runnable r) {
|
Thread thread = new Thread(r, name + "[" + counter.getAndIncrement() + "]");
|
thread.setDaemon(daemon);
|
if (priority != -1) {
|
thread.setPriority(priority);
|
}
|
return thread;
|
}
|
}
|