반응형

callable

    규칙 68 - 스레드보다는 실행자와 태스크를 이용하라.

    여러 쓰레드를 실행해야할 때, 큐에 넣고 작업을 진행하거나 할 수 있으면 더욱 효율적으로 관리 할 수있다. 그래서 자바 1.5부터 자바 플랫폼에는 java.util.concurrent가 추가되었다. 이 패키지에는 Executor Framework가 들어 있는데 이는 인터페이스 기반 task 실행 프레임워크이다. 해당 Executor를 실행하기 위해서는 다음과 같이 입력하면 된다.1234567ExecutorService executor = Executors.newSingleThreadExecutor(); executor. @Override public void run() { System.out.println("test"); }});Colored by Color Scriptercs 그리고 만약 executo..

    Spring 비동기 프로세스 Callable, DeferredResult, SseEmitter

    Callable Spring MVC 3.2는 Servlet 3를 기반으로한 비동기 요청 프로세스를 공개했다. 이 프로세스는 보통 값을 바로 반환하는 것 대신에 컨트롤러는 java.util.concurrent.Callable를 먼저 반환하고, Spring에서 관리하는 별도의 Thread에서 값을 반환한다. 위의 과정을 진행하는 동안 주요 Servlet Container Thread는 해당 요청에서 벗어나서 다른 Request를 받을 수 있게 벗어난다. 그리고 Spring MVC는 TaskExecutor의 도음으로 각각에 Thread에서 Callable 작업을 실행한다. 그리고 Callable 작업이 종료된 후 Callable 객체를 반환한다. 그럼 다시 요청이 Servlet container로 돌아가게 되..

    JAVA Thread Futher, Callable, Executor

    Futher, Callable, Executor스레드가 필요할 때 스레드를 생성하여 제공하는 ExecutorServiceCallabe 객체를 생성하여 Executor에 추가하여 객체를 순차적으로 실행한 후 Future 클래스로 결과를 반환 받는다.Callable 객체는 인터페이스이고 어떤 항목이든 담을 수 있는 call() 메소드 하나만 포함한다.EX) Callable 객체Class findmaxTask implements Callable{ FindMaxTas(int[] data, int start, int end){Super(data,start,end);} Public Integer getMax(){생략}} MultiThreadedMaxFinder 객체 Public class MultithreadedM..

반응형