• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

CarRepairShop에 대한 예제 코드를 볼 수 있을까요?

21.05.05 17:18 작성 조회수 89

0

안녕하세요.

먼저 RxJava에 개념을 잡는데 좋은 강의를 해주셔서 감사합니다. 많은 도움이 되고 있습니다.

혹시 CarRepairShop에서 Future를 리턴하는 getCarRepairCostAsync 메서드에 코드를 확인할 수 있을까요?

Future를 사용해본적이 없어서요...ㅠ

확인 부탁드립니다.

답변 1

답변을 작성해보세요.

0

안녕하세요? CarRepairShop 클래스의 소스 코드는 아래와 같습니다.

public class CarRepairShop {
public int getCarRepairCostSync(int brokens) {
return calculateCarRepair(brokens);
}

public Future<Integer> getCarRepairCostAsync(int brokens) {
return CompletableFuture.supplyAsync(
() -> calculateCarRepair(brokens));
}

private int calculateCarRepair(int brokens){
Logger.log(LogType.PRINT,
"# 차량 수리비 계산 중................");
delay();
return brokens * 20000;
}

private void delay(){
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

여기서 getCarRepairCostAsync() 의 메서드 body 코드를 확인하실 수 있습니다. 보시다시피 java.util.concurrent 패키지내의 CompletableFuture 를 사용해서 Future를 반환하는것을 볼 수 있습니다.

충분한 답변이 되셨나 모르겠네요.

위 소스 코드는 제가 제공하는 github 소스 코드에서도 확인하실 수 있습니다.

감사합니다.