J'ai un pool de threads fixe auquel je soumets des tâches (limité à 5 threads). Comment puis-je savoir lequel de ces 5 threads exécute ma tâche (quelque chose comme "thread n ° 3 sur 5 fait cette tâche")?
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?
}
}
% numThreads
place