我有一些消费者线程,其中任何一个也可以充当生产者.我怎么知道他们什么时候完成了他们的工作?
class Worker extends Thread{
void process(Task t){
...
if(needsMoreWork(t)){
queue.addAll(extractTasks(t));
}
}
public void run(){
while(isRunning){
Task t = queue.take();//I need to finish somehow.
process(t);
}
}
...
}
Run Code Online (Sandbox Code Playgroud)