1

Erlang では、メッセージを送信し、関数内の次のコード行で必要な応答を待つことができます。これにより、ワークフロー ロジック (オーケストレーション ロジック) を 1 つの関数に簡単にまとめることができます。akka javaで同じことができますか?

すべての返信が onRecieve コールバックに入るようです。つまり、ワークフロー ロジックを 1 つの関数に入れることはできず、メッセージをアクターに送信するとすぐに、onRecieve という別の関数でアクターから応答を取得する必要があります。これにより、ワークフロー ロジックを無効にする 1 つの関数が再び強制終了されます。これは事実ですか?もしそうなら、私はakka scalaで同じ問題を抱えていますか?

4

1 に答える 1

2

いいえ、まったく同じことを Akka で行うことはできません。なぜなら、これは Erlang の唯一で最も問題のある機能だからです。メモリ リークやパフォーマンスの低下につながります。

ただし、次のことができます。

A) 会話ロジックを処理する新しいアクタを生成する

B) ask/? を使用します。返信を処理する

C) Stash 機能を使用して、何らかの条件が満たされるまで一部のメッセージを処理しないようにする

于 2012-11-05T10:53:48.837 に答える