我有一个 MainClass、一个 Worker 类和一个 Supervisor 类。在 MainClass 中,我创建了 10 个 Worker 类和一个在不同线程中运行的 Supervisor 类。
class MainClass {
public static void main(String args[]) {
for (int i=0; i<10 ;i++) {
Thread t = new Thread( new Worker());
t.start();
}
(new Thread(new Supervisor()).start();
}
.
class Worker extends Thread {
public void run() {
while(true) {
if(some_condition) {
//do stuff
} else {
// pause thread execution for undefined time.
}
}
}
}
.
class Supervisor extends Thread {
public void run() {
while(true) {
if(some_condition) {
// restart Workers thread that are paused.
}
// do other stuff
}
}
}
我不知道如何实现这一点,因为每个线程中的条件都是相互独立的,所以我不需要同步,所以我不能使用等待通知。