如何从线程池获取线程ID?
我有一个固定的线程池,我可以将任务提交给该线程池(限制为 线程)。如何找出这 线程中的哪一个执行我的任务(例如“第3
线程中的第3 线程正在执行此任务”)?
ExecutorService taskExecutor = Executors.newFixedThreadPool(5);//in infinite loop:
taskExecutor.execute(new MyTask());
....
private class MyTask implements Runnable {
public void run() {
logger.debug("Thread # XXX is doing this task");//how to get thread id?
}
}
回答:
使用Thread.currentThread()
:
private class MyTask implements Runnable { public void run() {
long threadId = Thread.currentThread().getId();
logger.debug("Thread # " + threadId + " is doing this task");
}
}
以上是 如何从线程池获取线程ID? 的全部内容, 来源链接: utcz.com/qa/422218.html