2017-04-11 14 views
0

2つのUnixプロセスがTCPソケットに書き込むことができますか?つまり、OSは各プロセスで書き込みをスケジュールできますか? その場合、どのような問題が発生する可能性がありますか?2つのUnixプロセスが同じ時刻に同じTCPソケットに書き込む

+0

はい。カッコ内の部分の意味はわかりません。書き込みと送信はアトミックですが、各プロセスの送信は任意にインターリーブできます。 – EJP

答えて

1

まあ...はい... 2つのUnixプロセスは、単一の(共有)TCPソケットにwriteすることができます...しかし、私はこれを設計上の欠陥と見なします。

writeはアトミックかもしれませんが、部分的である可能性があり、インターリーブされたデータがwriteコールの間に書き込まれます。

この問題を回避するには、アプリケーションレベルの同期要素が必要です。

おそらく、これは価値を追加せずに複雑さを増します。

関連する問題