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. 장점
- 멀티 코어 환경에서 두배의 가까운 성능을 보인다.
- 비동기 문제를 해결 할 수 있다.
'Back-End > Java_2' 카테고리의 다른 글
[Java] Java8 - 함수형인터페이스 그리고 람다의 활용 (0) | 2018.06.16 |
---|---|
[Java] Java8 - 동작파라미터화 (predicate 활용) (0) | 2018.06.10 |
[Java] Thread에서 데이터 반환(폴링, 콜백) - Receive data by using thread polling, callback (0) | 2017.10.15 |
[Java] Thread 만들기 - To create Threads (0) | 2017.10.15 |
[Java] InputStream - 입력스트림 (0) | 2017.08.22 |