0
2つのUnixプロセスがTCPソケットに書き込むことができますか?つまり、OSは各プロセスで書き込みをスケジュールできますか? その場合、どのような問題が発生する可能性がありますか?2つのUnixプロセスが同じ時刻に同じTCPソケットに書き込む
2つのUnixプロセスがTCPソケットに書き込むことができますか?つまり、OSは各プロセスで書き込みをスケジュールできますか? その場合、どのような問題が発生する可能性がありますか?2つのUnixプロセスが同じ時刻に同じTCPソケットに書き込む
まあ...はい... 2つのUnixプロセスは、単一の(共有)TCPソケットにwrite
することができます...しかし、私はこれを設計上の欠陥と見なします。
write
はアトミックかもしれませんが、部分的である可能性があり、インターリーブされたデータがwrite
コールの間に書き込まれます。
この問題を回避するには、アプリケーションレベルの同期要素が必要です。
おそらく、これは価値を追加せずに複雑さを増します。
はい。カッコ内の部分の意味はわかりません。書き込みと送信はアトミックですが、各プロセスの送信は任意にインターリーブできます。 – EJP