web-dev-qa-db-ja.com

F#でMailboxProcessorという名前を付けるのはなぜですか?

標準的な方法は、すぐに MailboxProcessor<'T>Agent<'T>にエイリアスすることのようです。では、そもそもなぜその名前なのか?そもそも名前の競合がないのなら、なぜ彼らはそれを単にAgent<'T>と呼ばないのですか?正直なところ、メールの受信と関係があるようです。グーグルをした後、情報が見つかりませんでした。

3
xji

「メールボックス」は、メッセージパッシングの同時実行性の標準的な用語です。メールボックスは、メッセージが配信される場所です。これは基本的に、「メッセージキュー」の古くて広く使用されている同義語です。また、「メッセージキュー」よりもいくらか一般的であり、メッセージが順序付けられていない状況(アクターモデルなど)に適用できます。

したがって、「メールボックスプロセッサ」は、メールボックスからのメッセージを処理するものです。アクターモデルでは、アクターはメールボックスプロセッサであり、エージェントモデルでは、エージェントはメールボックスプロセッサです。

6
Jörg W Mittag