[Java] 리턴 값이 있는 스레드 (Callable Interface) 1. Runnable vs Callable Runnable 스레드를 사용하려면 Runnable을 구현해야 합니다. 그러나 Runnable의 run 메소드는 리턴 값이 없습니다. @FunctionalInterface public interface Runnable { public abstract void run(); } Callable 그러나 리턴값이 필요한 경우를 위해 Callable이 등장합니다. Runnable과 거의 비슷하지만 Callable은 작업의 결과를 받을 수 있습니다. 단 Thread 클래스에 바로 구현을 할 수는 없고 Executors 같은 스레드 풀과 Future를 이용해야 합니다. Callable 객체를 만들고 ExecutorService에 등록한 다음 Future 객체를 반환받아서 핸.. Backend/Java 3년 전
[Java] Executors Thread 사용법 1. 자바 Thread 관리의 어려움 자바로 스레드를 생성할 경우에는 아주 기본적으로는 아래와 같이 Thread 클래스와 Runnable 함수형 인터페이스를 구현해 Thread를 생성합니다. 간단한 소스 같은 경우에는 쉽게 관리할 수 있지만 복잡해지는 경우에는 스레드를 사용자가 직접 관리하는 것은 매우 어렵습니다. ex) 인터럽트 관리 이러한 관리의 어려운 문제를 해결하기 위해 스레드를 만들고 관리하는 작업을 위임을 하기 위해 Executors가 등장하게 됩니다. // 람다로 스레드 만들기 Thread thread = new Thread(() -> { System.out.println("Thread Test " + Thread.currentThread().getName()); }); thread.star.. Backend/Java 3년 전