#java #multithreading
#java #многопоточность
Вопрос:
Привет, я хотел бы знать, как никогда не останавливать многопоточное Java-приложение. Потоки умирают, если перехватывается исключение в методе run, могу ли я избежать этого? Если нет, могу ли я узнать, когда один из моих потоков умирает, а затем я могу запустить другой?
Это основной
for (int i=0; i<n; i )
{
MyClass object = new MyClass();
Thread myThread = new Thread(object);
myThread.start();
}
это MyClass, который реализует runnable
@Override
public void run() {
try {
theLoopMethod();
} catch (Exception e) {
System.out.println("error: check errors.txt");
}
Комментарии:
1. Используйте a
ThreadPool
и anExecutor
, которые являются объектами параллелизма высокого уровня
Ответ №1:
Чтобы ответить на вопрос 1:
Потоки умирают, если перехватывается исключение в методе run, могу ли я избежать этого?
Вы можете обернуть код в бесконечный цикл while или фактически исправить свой код, чтобы исключение не создавалось.
while (true) {
try {
theLoopMethod();
} catch (Exception e) {
System.out.println("error: check errors.txt");
}
}