Я хочу, чтобы остановить поток, который не имеет петли, так каккак остановить ребенок потоки, если исключение происходит в любом из них от родительской нити
while(!cancelled) //where cancelled is volatile variable
{
//
}
не может быть использован, как я хочу, чтобы выполнить длительные задачи без петля, как остановить ребенок потоки, если исключение происходит в любом из них от родительской нити
@Oliver
как упоминается в гадательных документах
for (int i = 0; i < inputs.length; i++) {
heavyCrunch(inputs[i]);
if (Thread.interrupted()) {
// We've been interrupted: no more crunching.
return;
}
}
в коде выше, если() будет вызывать только если heavyCrunch (входы [я]) завершил
'Thread.interrupt' должен быть способ сделать это – Sanjeev
@hitesh, если вы используете ExecutorService, взглянуть на этот вопрос: http://stackoverflow.com/questions/37879274/interrupt -all-threads-if-exception-happens-in-any-of-the-thread-среди-the-thread/ –