Если вы действительно хотите отслеживать статус всех потоков в пуле потоков, вы можете попробовать создать ThreadFactory, как показано ниже:
public class SelfThreadFactory implements ThreadFactory {
private Map<Long, Thread> stateMap = new ConcurrentHashMap<>();
@Override
public Thread newThread(Runnable r) {
Thread thread = new Thread(r);
stateMap.put(thread.getId(), thread);
return thread;
}
public Map<Long, Thread> getStateMap() {
return stateMap;
}
}
Используйте метод getStateMap (), вы можете получить весь поток, созданный этим ThreadFactory, тогда вы можете получить состояние потока.