これはおそらく scala の教育を受けた心にとって単純な問題ですが、私はまだ初心者です ;)
タスクを複数のワーカー アクターにディスパッチし、!? を介してブロッキング外部呼び出しに結果として応答するベース アクターがあります。
a = new a
a.start
println(a !? "12345")
class a extends Actor {
def act = {
loop {
react {
case msg =>
val result = worker_actor_1 !? msg
result += worker_actor_2 !? msg
result += worker_actor_3 !? msg
// So I just have multiple workers who should do stuff in parallel and the aggregated result should be returned to the calling function
reply(result)
}
結局、reply() をしなければならないので、ブロッキング呼び出しでワーカー アクターを真に並列化する方法がわかりません。呼び出しエンティティはアクターではなく、通常のクラスです。