동기적인 행위와 비동기적인 행위에 대한 이해 (#Callable과 Runnable의 차이)에 대해 알아봅시다.
* 차이점
1. Runnable은 Java 1.0부터 사용되었지만 Callable은 Java 1.5에서만 도입되었습니다.
- 즉 기존 Runnable을 그대로 놔두고, 기능을 확장하기 위해서 callable을 만들었다고 합니다.
2. Runnable이 지원하지 않는 유스 케이스를 처리합니다.
3. Callable은 call() 메소드를 구현해야하지만 Runnable은 run() 메소드를 구현해야합니다.
4. Callable은 값을 반환 할 수 있지만 Runnable은 반환 할 수 없습니다.
5. Callable은 검사 된 예외를 throw 할 수 있지만 Runnable은 예외를 throw 할 수 없습니다.
6. Callable은 ExecutorService#invokeXXX(Collection<? extends Callable<T>> tasks) 메소드와 함께 사용할 수 있지만 Runnable은 사용할 수 없습니다.
참조사이트 : https://codechacha.com/ko/java-callable-vs-runnable/
'JAVA > 기본 상식' 카테고리의 다른 글
[JAVA] 추상 클래스(abstract class) (0) | 2021.05.11 |
---|---|
[JAVA] 객체지향 생활 체조 원칙 9가지 (0) | 2021.04.23 |
[JAVA] 자바 리팩토링(Java Refactoring) - 매직 넘버 치환 (0) | 2021.04.21 |
[JAVA] 인스턴스 생성과 힙 메모리 (heap memory) (0) | 2021.02.27 |
Integer.parseint & Integer.valueof 차이 (0) | 2021.02.26 |