0
아래 코드에서 if 루프가 실행되지 않습니다. futureTask1과 2가 완료되기 전에 다음 코드 행이 실행됩니다. 그리고 프로그램은 절대 종료되지 않습니다. 내 오류는 무엇입니까?FutureTask가 완료되지 않음
ExecutorService executor=Executors.newFixedThreadPool(2);
MyClass1 myclass1= new MyClass1(x,y);
MyClass2 myclass2= new MyClass2(x,y);
FutureTask<List<String>> futureTask1 = new FutureTask<List<String>>(myclass1);
FutureTask<List<String>> futureTask2 = new FutureTask<List<String>>(myclass2);
executor.submit(futureTask1);
executor.submit(futureTask2);
System.out.println("FutureTask completed");
if(futureTask1.isDone() && futureTask2.isDone()){
System.out.println("Done");
//shut down executor service
executor.shutdown();
//Execute some code
return;
}
** "FutureTask completed"메시지가 정확하다는 것을 ** 알고 계십니까? 내 말은, 작업이 실제로 완료 되었습니까? – CiaPan
'if loop'가 무엇입니까? 제시된 코드에서 ** 루프 **를 볼 수 없습니다. – CiaPan
예. 그게 내가 원하는거야. 다음 줄을 실행하기 전에 완료 될 때까지 기다려야합니다. – Harbinger