문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
|
java:8:completable_future [2016/07/16 15:25] kwon37xi 만듦 |
java:8:completable_future [2020/11/09 11:47] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Java 8 CompletableFuture ====== | ====== Java 8 CompletableFuture ====== | ||
| - | [[https:// | + | * [[https:// |
| + | * [[https:// | ||
| + | |||
| + | ===== Thread Pool (Executor) ===== | ||
| + | * '' | ||
| + | * 개발자가 쓰레드 풀을 제어할 수 없다는 것은 나중에 문제가 될 수 있다. | ||
| + | * 따라서, 항상 [[java: | ||
| ===== ParallelStream vs. CompletableFuture ===== | ===== ParallelStream vs. CompletableFuture ===== | ||
| 줄 6: | 줄 13: | ||
| * **ParallelStream** : **I/O가 포함되지 않은 계산 중심**의 동작을 실행할 때는 스트림 인터페이스가 가장 구현하기 간다하며 효율적일 수 있다(모든 스레드가 계산 작업을 수행하는 상황에서는 프로세서 코어 수 이상의 쓰레드를 가질 필요가 없다). | * **ParallelStream** : **I/O가 포함되지 않은 계산 중심**의 동작을 실행할 때는 스트림 인터페이스가 가장 구현하기 간다하며 효율적일 수 있다(모든 스레드가 계산 작업을 수행하는 상황에서는 프로세서 코어 수 이상의 쓰레드를 가질 필요가 없다). | ||
| * **CompletableFuture** : 반면 작업이 **I/O를 기다리는 작업을 병렬로 실행**할 때는 '' | * **CompletableFuture** : 반면 작업이 **I/O를 기다리는 작업을 병렬로 실행**할 때는 '' | ||
| + | * [[http:// | ||
| + | ===== 여러 CompletableFuture를 하나로 합쳐주기 ===== | ||
| + | * [[https:// | ||
| + | ===== 참조 ===== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||