Я пытался найти причину, по которой «выполнить» печатается только один раз. Но я не мог найти ответ в книге, которую я действительно читаю, Java Threads или googling.run() on terminated state thread
public void init(){
t = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("executed");
}
});
t.start();
while(true){
if(!t.isAlive())
t.run();
}
}
Итак, как его реализовать, чтобы выполнить запуск несколько раз после завершения потока, выполняющего метод запуска в первый раз? – Nicolas
@ Николас, потому что ты делаешь ерунду в своем примере, это трудно сказать. Я не понимаю, чего вы пытаетесь достичь. Вы хотите выполнить 'run' один раз в параллельном потоке и в другое время в основном (родительском) потоке? BTW, существует метод 'thread.join()', чтобы ждать unitl другого потока, завершенного. Использование 'isAlive()' в busy-wait не должно использоваться в производственном коде. – Val
@Val Я только пытаюсь понять, как работают потоки. Я только начал заниматься темой – Nicolas