从演员(akka.actor.Actor)如何同时执行两次方法?尝试用Futures做,但如果未来没有回应,演员不会接受更多请求......
答案 0 :(得分:1)
一般来说,演员不应该阻止。处理演员时,您应该以数据流方式思考。绘制如下数据流图:
--> methodCall1 --> |----------|
actor1 / | actor2 |
\ --> methodCall2 --> |__________|
可以将Actor2作为Akka actor进行处理,它会对传入的消息进行计数,并在两条消息都到达时做出反应。在这种情况下,methodCall1
和methodCall
必须知道actor2并向其发送消息。
或者actor2可以是CompletableFuture,它是使用方法thenCombine
从方法调用的未来派生的。