Я хочу дождаться, пока мой 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 (). Как уменьшить нагрузку на ЦП?