044 Runnable Callable

강의 메모 - Runnable and Callable #

개요 #

  • Runnable 과 Callable 은 모두 별도의 스레드에서 실행할 수 있는 작업을 나타내는 데 사용되는 인터페이스이다 img.png

두 인터페이스 사이에는 몇 가지 중요한 차이점이 있다 #

img_1.png

Runnable #

class MyRunnable implements Runnable { 
    public void run() { 
        // 결과를 리턴 하거나 예외를 던질 수 없다     
        System.out.println("Hello, world!");   
    }
}

img_2.png

Callable #

class MyCallable implements Callable<Integer> { 
    public Integer call() throws Exception {    
        // 결과를 리턴 하거나 예외를 던질 수 있다     
            return 10;
    }
}

img_3.png

Callable & Future #

  • Future을 우선 리턴하고 Callable의 call() 로직이 완료되면 결과가 들어온다. img_4.png