아는 만큼 보인다/Concurrency
Thread pool 에서 결과(Future) 받기
eyevsky
2014. 11. 19. 15:34
1. 끝나기 전에 받기
- 하나씩 받기
- future = executorService.submit(...job...);
- future = completionService.submit(...job...);
2. 끝날 때 까지 대기하여 받기
- 모두 끝난 후에 한꺼번에 다 받기
- futureList = executorService.invokeAll(... job list ...);
- 제일 일찍 끝난 결과 하나만 받기
- future = executorService.invokeAny(... job list ...);
- 먼저 끝나는 순서대로 하나씩 모두 받기
for (...) {
future = completionService.take();
}