[java] 인터페이스를 사용하여 스레드 처리하기

자바에서는 인터페이스를 사용하여 스레드 처리를 할 수 있습니다. 이를 통해 코드를 더 모듈화하고 유연하게 작성할 수 있습니다.

1. Runnable 인터페이스

Runnable 인터페이스는 스레드가 실행할 수 있는 코드를 나타냅니다. 다음은 Runnable을 구현하여 스레드를 처리하는 예제입니다.

public class MyRunnable implements Runnable {
    public void run() {
        // 스레드가 실행할 작업을 구현합니다.
    }
}

public class Main {
    public static void main(String[] args) {
        Thread thread = new Thread(new MyRunnable());
        thread.start();
    }
}

2. Callable 인터페이스

Callable 인터페이스는 Runnable과 유사하지만 작업의 결과를 반환하거나 작업 중 발생한 예외를 처리할 수 있습니다.

import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;

public class MyCallable implements Callable<Integer> {
    public Integer call() {
        // 작업을 수행하고 결과를 반환합니다.
    }
}

public class Main {
    public static void main(String[] args) {
        Callable<Integer> myCallable = new MyCallable();
        FutureTask<Integer> futureTask = new FutureTask<>(myCallable);
        Thread thread = new Thread(futureTask);
        thread.start();
    }
}

결론

RunnableCallable 인터페이스를 사용하여 스레드 처리를 구현할 수 있습니다. 이를 통해 각각의 작업을 모듈화하고, 유연하게 다룰 수 있습니다.

참고 자료: