Ho un pool di thread fisso a cui invio le attività (limitato a 5 thread). Come posso scoprire quale di quei 5 thread esegue il mio compito (qualcosa come "thread n. 3 di 5 sta facendo questo compito")?
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
invece