Я хочу дождаться окончания работы моего SwingWorker, а затем я хочу запустить еще один SwingWorker. В этом случае Encrypteer3 - это класс, расширяющий SwingWorker.
Мой код:
input = txtTekst.getText();
key = txtKey.getText();
System.out.println("thread1 start");
Encrypteer3 a = new Encrypteer3();
a.execute();
while(a.isDone()==false){
// do nothing
}
input = output;
key = txtKey1.getText();
System.out.println("thread2 start");
Encrypteer3 b = new Encrypteer3();
b.execute();
while(b.isDone()==false){
// do nothing
}
Это приводит к зависанию моего графического интерфейса и использованию большого количества процессоров (при выполнении этого Java использует около 95% процессоров). Я думаю, что проблема в том, что он постоянно проверяет, завершен ли поток, и это делает его настолько загружающим процессор.
В классе SwingWorker нет метода join (). Как я могу сделать это менее интенсивным процессором?