1. 끝나기 전에 받기
- 하나씩 받기
- future = executorService.submit(...job...);
- future = completionService.submit(...job...);
2. 끝날 때 까지 대기하여 받기
- 모두 끝난 후에 한꺼번에 다 받기
- futureList = executorService.invokeAll(... job list ...);
- 제일 일찍 끝난 결과 하나만 받기
- future = executorService.invokeAny(... job list ...);
- 먼저 끝나는 순서대로 하나씩 모두 받기
for (...) {
future = completionService.take();
}
'아는 만큼 보인다 > Concurrency' 카테고리의 다른 글
Executors.newCachedThreadPool()의 TIMED_WAITING 스레드 (0) | 2017.02.17 |
---|---|
Java 클래스 멤버 변수들의 초기화 순서 (0) | 2014.11.21 |
Thread 상태 (0) | 2014.11.19 |
Thread-Safe 를 위한 Keywords (0) | 2014.11.19 |
Executors 팩토리 클래스 (0) | 2014.11.18 |