static class SelfDefinedThreadFactory implements ThreadFactory { final AtomicInteger threadNumber = new AtomicInteger(1); final String namePrefix; SelfDefinedThreadFactory(String namePrefix) { this.namePrefix = namePrefix+"-"; } public Thread newThread(Runnable r) { Thread t = new Thread( r,namePrefix + threadNumber.getAndIncrement()); if (t.isDaemon()) t.setDaemon(true); if (t.getPriority() != Thread.NORM_PRIORITY) t.setPriority(Thread.NORM_PRIORITY); return t; } }
默认的ThreadFactory是DefaultThreadFactory, 咱们能够从新实现ThreadFactory接口,对Thread进行一些自定义的实现,好比线程的名称或是线程的优先级。java