completablefuture

public List findPrices(String product) { List priceFutures = shops.stream() .map(shop -> CompletableFuture.supplyAsync(() -> shop.getPrice(product), executor)) .map(future -> future.thenApply(Quote::parse)) .map(future -> future.thenCompose(quote -> CompletableFuture.supplyAsync(() -> Discount.applyDiscount(quote), executor))); return priceFutures.stream() .map(CompletableFuture::join) .coolect(..
2021.09.07 - [프로그래밍 노트/JAVA] - 병렬 스트림(parallel) vs CompletableFuture non-blocking 코드 만들기 추가된 클래스 설명 상점에서 제공한 문자열 파싱하여 Quote 클래스로 캡슐화 수행 public class Quote { private final String shopName; private final double price; private final Discount.Code discountCode; public Quote(String shopName, double price, Discount.Code discountCode) { this.shopName = shopName; this.price = price; this.discountCode = ..
2021.09.05 - [프로그래밍 노트/JAVA] - CompletableFutrue를 사용해보자 앞 전에 만들었던 동기 API(getPrice(String product))를 이용하여 최저가격 검색 애플리케이션을 만든다고 가정해보자. 앞에 게시글을 다시들어가기 귀찬으니 아래 코드를 참고하자. getPrice는 1초 blocking되는 API이다. public class Shop { private final String name; private final Random random; public Shop(String name) { this.name = name; random = new Random(name.charAt(0) * name.charAt(1) * name.charAt(2)); } public ..
깡냉쓰
'completablefuture' 태그의 글 목록