从akka演员同时运行功能

时间:2017-03-24 16:27:21

标签: scala akka actor

从演员(akka.actor.Actor)如何同时执行两次方法?尝试用Futures做,但如果未来没有回应,演员不会接受更多请求......

1 个答案:

答案 0 :(得分:1)

一般来说,演员不应该阻止。处理演员时,您应该以数据流方式思考。绘制如下数据流图:

          --> methodCall1 --> |----------|
 actor1 /                     |  actor2  |  
        \ --> methodCall2 --> |__________|

可以将Actor2作为Akka actor进行处理,它会对传入的消息进行计数,并在两条消息都到达时做出反应。在这种情况下,methodCall1methodCall必须知道actor2并向其发送消息。

或者actor2可以是CompletableFuture,它是使用方法thenCombine从方法调用的未来派生的。