[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] 자바 Thread 생성하기 1. Process And Thread 프로세스 프로세스는 운영체제로부터 자원을 할당받는 작업의 단위 프로세스는 실행될 때 운영체제로부터 필요한 주소 공간, 메모리 등 자원을 할당받습니다. 스레드 스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위 스레드란 한 프로세스 내에서 동작되는 여러 실행의 흐름으로 프로세스 내의 주소 공간이나 자원들을 같은 프로세스 내에 스레드끼리 공유하면서 실행합니다. 2. Thread를 왜 사용할까? 답은 간단합니다. 시스템 자원을 효율적으로 관리하기 위해서입니다. 멀티 프로세스 활용해 한번에 여러 프로그램을 돌릴 수 있지만 상황에 따라 멀티 스레드를 활용해 실행할 경우 프로세스를 생성하여 자원을 할당하는 시스템 콜이 줄어들어 자원을 효율적으로 관리할 수 있습니다. 프로.. Backend/Java 3년 전