Back-End/Java_2
[Java] Future, Callable, Executor를 이용한 Thread
리딩리드
2017. 10. 15. 19:29
Future, Callable, Executor를 이용한 Thread
1. ExecutorService
- 자바5에서 멀티스레드와 콜백을 간편하게 사용하기 위하여 ExecutorService를 사용한다.
1) 사용법
- 작업 대상의 Callable 객체를 만들고 ExecutorService에 등록한 다음 Future 객체를 반환 받는다.
- 작업 결과는 Future를 통해 얻는다.
2. 예제
1) FindMax.java
- 값을 비교하여 max값을 반환 한다.
- Callable 인터페이스는 어떤 값도 반환하는 call() 를 제공한다.
2) MultiThreadMaxFinder.java
- Callable 객체를 Executor 에 추가하여 사용한다.
- Executor는 각 객체의 스레드 실행
3. 장점
- 멀티 코어 환경에서 두배의 가까운 성능을 보인다.
- 비동기 문제를 해결 할 수 있다.