我正在使用 ExecutorService 线程池执行一个 Callable Object。我想给这个线程起个名字。
更具体地说,在旧版本中我是这样做的 -
Thread thread = new Thread(runnable Task);
thread.setName("My Thread Name");
我在 log4j 日志记录中使用线程名称,这对故障排除有很大帮助。现在我正在将我的代码从 Java 1.4 迁移到 Java 1.6。我已经写了这个(如下所示)-但我不知道如何给这个线程命名。
private final ExecutorService executorPool = Executors.newCachedThreadPool();
Future<String> result = executorPool.submit(callable Task);
请给我一些想法来给这个线程命名?
最佳答案
我目前正在这样做:
someExecutor.execute(new Runnable() {
@Override public void run() {
final String orgName = Thread.currentThread().getName();
Thread.currentThread().setName(orgName + " - My custom name here");
try {
myAction();
} finally {
Thread.currentThread().setName(orgName);
}
}
});
关于java - 如何为可调用线程命名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3227040/