是否可以设置默认线程池中使用的标准jdk corba ORB的线程名称?
默认情况下,每个连接有3个线程。他们的名字无用,因为他们总是默认为:p:default-threadpool; w: Idle
。主要出于调试原因更改名称会很棒。
查看JDK com.sun.corba.se.impl.orbutil.threadpool.ThreadpoolManagerImpl
源我可以看到无法从类外部访问该名称。目前我在控制线程时使用Thread.currentThread().setName()
来设置线程名称,但这似乎是一个黑客攻击。还有更好的方法吗?
答案 0 :(得分:0)
您可以迭代当前正在运行的线程,并根据需要重命名它们。类似的东西:
int counter = 1;
for (Thread t : Thread.getAllStackTraces().keySet()) {
if (t.getName().startsWith("p:default-threadpool")) t.setName("Corba #" + counter++);
}