SeouliteLab

[Java/자바] Future 사용 방법과 예제 본문

프로그래밍

[Java/자바] Future 사용 방법과 예제

Seoulite Lab 2024. 3. 15. 09:40

Java에서 비동기 작업을 수행하기 위해 Future 인터페이스를 사용할 수 있습니다. 이번 포스트에서는 Future를 소개하고, 사용하는 방법과 예제를 살펴보겠습니다.

1. Future 소개

Future는 비동기적으로 작업의 결과를 받아오기 위한 인터페이스입니다. 작업이 완료되지 않았더라도 Future를 통해 작업의 상태를 확인하고 결과를 기다릴 수 있습니다.

2. Future 사용 방법

Future를 사용하기 위해서는 다음과 같은 단계를 거칩니다.

1. 작업을 생성하고 Future 객체를 통해 작업의 결과를 받아오기 위한 ExecutorService를 생성합니다. 2. 작업을 Callable 또는 Runnable 객체로 정의하고, ExecutorService의 submit 메서드를 사용하여 작업을 제출합니다. 3. Future 객체를 통해 작업의 결과를 얻거나 작업의 상태를 확인합니다.

3. Future 예제

아래 예제는 Future를 사용하여 비동기적으로 계산을 수행하는 간단한 예제입니다.

예제:

import java.util.concurrent.*;

public class FutureExample {
    public static void main(String[] args) throws InterruptedException, ExecutionException {
        ExecutorService executor = Executors.newFixedThreadPool(1);
        Future<Integer> future = executor.submit(() -> {
            Thread.sleep(1000);
            return 42;
        });

        System.out.println("Waiting for result...");
        Integer result = future.get();
        System.out.println("Result: " + result);
        executor.shutdown();
    }
}

4. 결론

Future를 사용하면 비동기 작업을 효율적으로 관리하고 작업의 결과를 처리할 수 있습니다. 작업의 상태를 확인하고 결과를 기다리는 동안 다른 작업을 수행할 수 있어서 멀티스레드 환경에서 유용하게 사용됩니다.

위의 예제를 통해 Java에서 Future를 사용하여 비동기 작업을 수행하는 방법을 알아보았습니다.