[JAVA] CompletableFuture


[JAVA] CompletableFuture

CompletableFuture java8에 추가 Future의 한계 외부에서 완료시킬 수 없고, get의 타임아웃 설정으로만 작업 완료가 가능하다. get(블로킹 코드)를 통해서만 이후의 결과를 처리할 수 있다. 여러 Future를 조합하고 예외 처리할 수 없다. CompletableFuture Future을 외부에서 완료시킬 수 있어서 CompletableFuture CompletionStage 인터페이스도 구현하고 있다. 작업들을 중첩시키거나 완료 후 콜백을 위해 추가 몇 초 이내에 응답이 안 오면 기본값을 반환 같은 거 추가 가능 외부에서 작업을 완료 시킬 수 있고 콜백 등록 및 Future 조합 가능 비동기 runAsync 비동기이면서 반환 값이 없는 경우에 사용한다. 반환 값이 없기에 CompletableFuture<Void>를 반환한다. CompletableFuture는 별도의 스레드에서 작업이 실행된다. supplyAsync 리턴 값이 runAsync와 다르게 존재한다...


#allOf #thenCompose #thenCombine #thenApply #thenAccept #supplyAssync #runAsync #JAVA #handle #CompletableFuture #anyOf #thenRun

원문링크 : [JAVA] CompletableFuture