У меня есть класс MainClass, рабочий класс и класс Supervisor. В MainClass я создаю 10 классов Worker и класс Supervisor, которые запускаются в отдельных потоках.Планирование потоков Java
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
}
}
}
Я не знаю, как осуществить это, вызывают условия в каждом потоке не зависят друг от друга, так что я не нужно синхронизировать, поэтому я не могу использовать выжидательную оповещать.
В чем вопрос? – BackSlash
Вы посмотрели @ классы, доступные в 'java.util.concurrent'? –
[эти примеры] (http://arashmd.blogspot.com/2013/07/java-thread-example.html) может помочь –