Когда вы создаете ThreadPoolExecutor
с помощью Executors.newFixedThreadPool
, он создает по умолчанию ThreadFactory , и по умолчанию ThreadFactory
создает Thread
с именем, подобным pool-x-thread-y
.
Вы можете настроить ThreadFactory
и использовать его для создания пула потоков:
class NumberThreadFactory implements ThreadFactory {
int count = 0;
public Thread newThread(Runnable r) {
return new Thread(r, String.valueOf(count++));
}
}
Executor executor = Executors.newFixedThreadPool(2, new NumberThreadFactory());
executor.execute(() -> System.out.println(Thread.currentThread().getName())); // 1
executor.execute(() -> System.out.println(Thread.currentThread().getName())); // 2