Runnable vs Callable

roglog·2021년 8월 18일
0

java

목록 보기
1/2

1. 개요


Runnable은 다중 스레드 작업을 나타내기 위해 제공되는 핵심 인터페이스이며 Callable은 Java 1.5에서 추가된 향상된 Runnable 버전입니다.


2. 실행 매커니즘


두 인터페이스 모두 멀티스레드로 실행되는 태스크를 나타내도록 설계됨
Runnable는 Thread클래스 또는 ExecutorService를 사용하여 실행할 수 있다.
Callable는 ExecutorService만 사용할 수 있다.

3. 리턴 값


3.1 Runnable

Runnable 인터페이스는 'run()' 메서드로만 이루어져 있음
run()메서드는 매개 변수를 받지 않고 리턴 값이 없기 때문에 스레드의 결과 값을 보지 않아도 되는 상황에 적합함

3.2 Callable

Callable 인터페이스는 'call()'메서드로만 이루어져 있음
call()메서드는 리턴 값이 있음(Future object로 반환됨)


4. 에러 핸들링


4.1 Runnable

메소드 시그니처에 throws가 없기 때문에, checked예외를 추가로 넘길 수 없음

4.2 Callable

Callable의 call() 메서드에 "throwsException" 절이 포함되어 있으므로 checked예외를 더 쉽게 넘길 수 있음





*아래 링크의 내용을 공부

https://www.baeldung.com/java-runnable-callable

profile
Full Stack Developer 📚

0개의 댓글