11

ここ(IPC に関するウィキペディアの記事) で、これらは2 つの別個のものであることがわかりましたが、それぞれの専用のウィキペディア ページを読んでも、違いが何であるかがわかりませんでした。

誰かがこれを簡単に説明できますか?

4

2 に答える 2

9

メッセージパッシングは非常に一般的な用語です。さまざまな側面から調べることができます。その 1 つは、データが送信者から受信者に転送される方法です。

  • 同期メッセージパッシング: 送信者と受信者は、データを転送できるようにするために、それぞれのsend/操作で「会う」必要があります。receiveこれは「ランデブー」または「ハンドシェイク」とも呼ばれます。この形式の転送は単純ですが、送信者がその義務を果たし、送信するデータの準備ができていても、送信者が待機する必要がある場合があるため、非効率的である可能性があります。

  • 非同期メッセージ パッシングreceive: 送信者は受信者が操作に到達するのを待たず、準備されたデータを削除して実行を継続します。この形式の転送では、送信者は待機する必要はありませんが、別の問題が発生します。送信済みでまだ受信されていないメッセージが存在する可能性があり、それらをどこかに保存する必要があります。これがメッセージ キューの出番です。メッセージ キューは、転送中のメッセージのバッファです。

したがって、あなたの質問への答えは、メッセージの受け渡しが同期ではなく非同期で行われるときにメッセージキューが使用/必要になるということです。

于 2014-04-22T20:58:05.163 に答える