내가 혼동에 대해 나는 어떻게 해결해야에서 이 시나리오를 차단하지 않는 방식이다.
고려 두 배우 Actor1
고 Actor2
내 Actor1
Map<Int, Int> foo() {
List<String> finalList = foo_2();
Map<Int, Int> finalMap = // do stuff with finalList to get Map<Int, Int>;
return finalMap;
}
List<String> foo_2() {
CompletableFuture<List<String>> Querylist = ask(Actor2)
Querylist.get();
return QueryList;
}
현재에 foo_2, Querylist.get()
입니다. 고 싶어 어떻게든 이에 차단하지 않는 방식이다. 내가 만든 메시지가 어댑터 Actor2
안 Actor1
그래서 어떤 메시지 Actor2
전송에 의해 처리됩 Actor1
.
나는 사용하기 위해 다음과 같은 방법을 수정하면 차단하는 전화
Map<Int, Int> foo() {
CompletionStage<List<String>> finalList = foo_2();
finalList.whenComplete(
// what to do here?
)
// Map<Int, Int> finalMap = // do stuff with finalList to get Map<Int, Int>;
return finalMap;
}
CompletionStage<List<String>> foo_2() {
CompletionStage<List<String>> Querylist = ask(Actor2)
return QueryList;
}
나는 확실하지 않은 방법이 올바르게 사용하 CompletionStage 구조와 같은 결과를 얻었을 얻으로 차단은 미래를 주려고 합니다.get()호출합니다.