package com.whyc.factory; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicInteger; public class UserThreadFactory implements ThreadFactory { private final String namePrefix; private final AtomicInteger nextId = new AtomicInteger(1); // 定义线程组名称,在 jstack 问题排查时,非常有帮助 public UserThreadFactory(String whatFeaturOfGroup) { namePrefix = "From UserThreadFactory's " + whatFeaturOfGroup + "-Worker-"; } @Override public Thread newThread(Runnable task) { String name = namePrefix + nextId.getAndIncrement(); return new Thread(task, name); } public static boolean flag = true; }