Ich habe einen festen Thread-Pool, an den ich Aufgaben sende (begrenzt auf 5 Threads). Wie kann ich herausfinden, welcher dieser 5 Threads meine Aufgabe ausführt (so etwas wie "Thread 3 von 5 erledigt diese Aufgabe")?
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
stattdessen verwenden