如何从线程池获取线程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

回到顶部