一連のリモートコールをチャンクに分割する必要があります。私は俳優を使うことを考えました。タスクの完了を報告するスカラーアクターはどうすればよいですか?
私はこのような何かを考えた:
class ControlActor() extends Actor{
var counter = 1000
def act{
for (i <- 1 until 1000) { new RequestActor(this) start }
while(true){
receive{
case "Stop" =>{counter = counter-1; if(counter==0){return}}
}
}
}
}
class RequestActor(parent:ControlActor) extends actor{ ... }
が、これは明らかに問題があります:私はレシーブブロックに入るとき、いくつかのRequestActorインスタンスがすでに実行され終了している可能性があります。まだメッセージ受信状態になっていない俳優にメッセージを送信するとどうなりますか?メッセージはキューに入れられますか、それとも破棄されますか?
最も重要なもの:非常に高速に戻っても、作成したアクタに通知できる子アクターを作成するにはどうすればよいですか?
関連項目:現在のアクターインスタンス(this
)を他のアクターに渡すことをお勧めしますか?何らかの理由で私はそれをやっている誰も見ていない。
Scalaの俳優の質問を使用してみんなに、Akkaをチェックしてください。それは素晴らしい非常に高い集中力を持っています。 – leedm777