
parallelFuture::done 메서드는 Future의 결과를 취득하는 데 사용됩니다. 취소된 Future나 예외가 발생한 Future의 결과를 처리하는 방법은 다음과 같습니다.
- 취소된 Future의 경우, parallelFuture::done 메서드는 InterruptedException을 발생시킵니다.
- 예외가 발생한 Future의 경우, parallelFuture::done 메서드는 ExecutionException을 발생시킵니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
java
Future future = CompletableFuture.supplyAsync(() -> {
// 작업 수행
return "결과";
});
try {
String result = future.get();
System.out.println(result);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
} catch (ExecutionException e) {
System.out.println("예외 발생");
}
Future가 취소되거나 예외가 발생한 경우, 메서드가 반환하는 값은 다음과 같습니다.
- 취소된 Future의 경우, 메서드는 InterruptedException을 발생시키고, 취소된 Future의 결과는 반환되지 않습니다.
- 예외가 발생한 Future의 경우, 메서드는 ExecutionException을 발생시키고, 예외가 발생한 Future의 결과는 반환되지 않습니다.
따라서, Future가 취소되거나 예외가 발생한 경우, 메서드가 반환하는 값을 확인하기 위해서는 try-catch 블록을 사용하여 예외를 처리해야 합니다.
2025-05-03 21:54