futher에 해당하는 글 1

JAVA Thread Futher, Callable, Executor

JAVA/Thread|2016. 12. 21. 22:42

Futher, Callable, Executor

  • 스레드가 필요할  스레드를 생성하여 제공하는 ExecutorService
  • Callabe 객체를 생성하여 Executor 추가하여 객체를 순차적으로 실행한  Future 클래스로 결과를 반환 받는다.
  • Callable 객체는 인터페이스이고 어떤 항목이든 담을  있는 call() 메소드 하나만 포함한다.

EX) Callable 객체

Class findmaxTask implements Callable<Integer>{

 

FindMaxTas(int[] data, int start, int end){

Super(data,start,end);

}

 

Public Integer getMax(){

생략

}

}

 

MultiThreadedMaxFinder 객체

 

Public class MultithreadedMaxFinder {

 

FindMaxTask task1 = new FindMaxTask(data, 0, 100);

FindMaxTask task2 = new FindMaxTask(data, 1000, 1000);

 

ExecutorService service = Executor.newFixedThreadPool(2);//작업을 두개로 분할

 

//Future 결과값 반환

Future<Integer> future1 = service.submit(task1);

Future<Integer> future2 = service.submit(task2);

 

Return Math.max(future1.get(), future2.get());

// future1.get() 호출될   메소드는 먼저 FindMaxTask 끝날때까지 대기한다그러고 난후 future2.get() 호출 한다 개의 스레드가 정상적으로 종료된 후에 결과값 Max 리턴한다.

}

'JAVA > Thread' 카테고리의 다른 글

Thread 크리티컬 세션  (0) 2016.12.21
java thread pool 소개  (0) 2016.12.21
JAVA 스레드 스케줄링  (0) 2016.12.21
Thread 동기화 문제  (0) 2016.12.21
JAVA Thread Futher, Callable, Executor  (0) 2016.12.21
Thread 폴링 방식  (0) 2016.12.21

댓글()