public class MyThreadFactory implements ThreadFactory { private static final AtomicInteger poolNumber = new AtomicInteger(1); private ThreadGroup group; private AtomicInteger threadNumber = new AtomicInteger(1); private String namePrefix; MyThreadFactory() { SecurityManager s = System.getSecurityManager(); group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); namePrefix = "pool-" + poolNumber.getAndIncrement() + "-thread-"; } public MyThreadFactory(String definedName) { this.namePrefix = definedName+"--"; } @Override public Thread newThread(Runnable r) { Thread t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement(), 0); if (t.isDaemon()) t.setDaemon(false); if (t.getPriority() != Thread.NORM_PRIORITY) t.setPriority(Thread.NORM_PRIORITY); return t; } public static MyThreadFactory getDefinedNameThreadFactory(String definedName) { MyThreadFactory myThreadFactory = new MyThreadFactory(definedName); return myThreadFactory; } }
dsds阿萨飒飒
最新推荐文章于 2022-08-25 14:03:28 发布