package com.thenetcircle.comsumerdispatcher.thread; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicInteger; public class NamedThreadFactory implements ThreadFactory{ protected final String name; private final int priority; protected final AtomicInteger n = new AtomicInteger(1); public NamedThreadFactory(String id) { this(id, Thread.MIN_PRIORITY); } public NamedThreadFactory(String name, int priority) { this.name = name; this.priority = priority; } public Thread newThread(Runnable runnable) { String tName = name + ":" + n.getAndIncrement(); Thread thread = new Thread(runnable, tName); thread.setPriority(priority); //thread.setDaemon(true); return thread; } }