假设我有一个使用 Executor
框架的应用程序
Executors.newSingleThreadExecutor().submit(new Runnable(){
@Override
public void run(){
// do stuff
}
}
当我在调试器中运行此应用程序时,会使用以下(默认)名称创建一个线程:Thread[pool-1-thread-1]
。如您所见,这并不是非常有用,据我所知,Executor
框架并没有提供一种简单的方法来命名创建的线程或线程池。
那么,如何为线程/线程池提供名称呢?例如,Thread[FooPool-FooThread]
.
最佳答案
Guava 几乎总是有你想要的 need .
ThreadFactory namedThreadFactory =
new ThreadFactoryBuilder().setNameFormat("my-sad-thread-%d").build()
并将其传递给您的 ExecutorService
。
关于java - ExecutorService 的线程和线程池命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6113746/