假设我有一个使用 Executor
框架的应用程序
Executors.newSingleThreadExecutor().submit(new Runnable(){
@Override
public void run(){
// do stuff
}
}
当我在调试器中运行此应用程序时,将创建一个具有以下(默认)名称的线程: Thread[pool-1-thread-1]
。如您所见,这并不是非常有用,据我所知, Executor
框架没有提供一种简单的方法来命名创建的线程或线程池。
那么,如何为线程/线程池提供名称呢?例如, Thread[FooPool-FooThread]
。
原文由 mre 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以提供
ThreadFactory
到newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
。工厂将负责创建线程,并能够为它们命名。引用 Javadoc :