25 lines
950 B
Java
25 lines
950 B
Java
package io.gitlab.jfronny.inceptum.launcher.system.mds;
|
|
|
|
import java.util.concurrent.ThreadFactory;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
//Mirrors java.util.concurrent.Executors.DefaultThreadFactory
|
|
public class NamedThreadFactory implements ThreadFactory {
|
|
private static final AtomicInteger poolNumber = new AtomicInteger(1);
|
|
private final ThreadGroup group;
|
|
private final AtomicInteger threadNumber = new AtomicInteger(1);
|
|
private final String namePrefix;
|
|
|
|
public NamedThreadFactory(String name) {
|
|
this.group = Thread.currentThread().getThreadGroup();
|
|
this.namePrefix = name + "-" + poolNumber.getAndIncrement() + "-";
|
|
}
|
|
|
|
public Thread newThread(Runnable r) {
|
|
Thread t = new Thread(this.group, r, this.namePrefix + this.threadNumber.getAndIncrement(), 0L);
|
|
if (t.isDaemon()) t.setDaemon(false);
|
|
if (t.getPriority() != 5) t.setPriority(5);
|
|
return t;
|
|
}
|
|
}
|