2017-03-24 3 views
-2

アクタ(akka.actor.Actor)からメソッドを同時に2回実行できますか?先物でそれをやろうとしますが、未来が応答しなければ、俳優はもっと多くのリクエストをしません...akkaアクタから同時に関数を実行する

+2

あなたの現在の問題を表す質問に実際にコードを挿入するのはどうですか? –

+0

「未来が応答しない場合、俳優はもっと多くのリクエストを受け取りません」 - そうではないようです。つまり、先物を意図した方法で使用した場合はそうではありません。問題のコードを投稿できますか? – lutzh

+0

申し訳ありません。私はそれが非常に簡単だと思いました。 :( – jamlhet

答えて

1

一般的に、俳優はブロックすべきではありません。俳優を扱う場合は、データフローのように考えなければなりません。このようなデータフロー図を描く:

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

ACTOR2は、着信メッセージをカウントし、両方のメッセージが到着したときに反応するアッカの俳優としてinplementedすることができます。この場合、methodCall1methodCallはactor2を認識してメッセージを送信する必要があります。

actor2は、メソッドthenCombineを使用してメソッド呼び出しの将来のものから派生したCompletableFutureにすることができます。

関連する問題