0

私は興味深い理論的問題に来ました:

プログラム A とプログラム B が tcp ソケットや名前付きパイプなどの IPC を介して接続されているとします。プログラム A はプログラム B にデータを送信し、データ配信の成功に応じて、A と B の両方が何らかの操作を行います。ただし、B は、A が配達確認を取得したことが確実な場合にのみ、その操作を行う必要があります。A→B【データ転送】B→A【配達確認】A→B【配達確認の確認】

奇妙に見えるかもしれませんが、目標は、データが転送されたことを両側が知るまで、A にも B にも操作を行わないことです。

そして、ここに問題があります。これは、2 番目の接続が最初の接続の成功を確認するためのものだからです。そして 3 番目は 2 番目の確認ですが、実際には接続 2 と 3 が失敗しないという保証はなく、その場合は確認の無限ループに陥ります。その問題を解決するCS理論はありますか?

4

1 に答える 1

1

あなたの質問を正しく読むと、その問題は「二大将の問題」と呼ばれます。問題の要点は、メッセージまたは確認応答のいずれかを送信する最後のエンティティは、送信したばかりのステータスについて何も知らないということです。

于 2012-12-04T15:25:47.407 に答える