
parallelFuture::done() 메서드는 작업이 완료되었을 때 callback 함수를 호출하는 데 사용됩니다. 하지만, callback 함수가 작업이 완료된 후에 호출되는 것을 보장하지는 않습니다. 이 문제를 해결하기 위해서는 다음 두 가지 방법을 사용할 수 있습니다.
1. CompletableFuture::join() 메서드 사용: CompletableFuture::join() 메서드는 작업이 완료될 때까지 블록킹되며, 작업이 완료된 후에 callback 함수를 호출합니다. 이 메서드는 작업이 완료된 후에 callback 함수를 호출하는 것을 보장합니다.
2. CompletableFuture::whenComplete() 메서드 사용: CompletableFuture::whenComplete() 메서드는 작업이 완료되었을 때 callback 함수를 호출합니다. 이 메서드는 작업이 완료된 후에 callback 함수를 호출하는 것을 보장합니다.
callback 함수가 작업이 완료되지 않은 경우에 대한 처리 방법은 다음과 같습니다.
* 작업이 실패한 경우에 대한 처리를 추가합니다. 예를 들어, CompletableFuture::whenComplete() 메서드에서 exception이 null이 아닌 경우에 대한 처리를 추가할 수 있습니다.
* 작업이 완료되지 않은 경우에 대한 처리를 추가합니다. 예를 들어, CompletableFuture::whenComplete() 메서드에서 result이 null인 경우에 대한 처리를 추가할 수 있습니다.
2025-03-16 11:53