작성
·
146
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 소스 코드에서도 확인하실 수 있습니다.
감사합니다.