【发布时间】:2017-09-07 10:15:19
【问题描述】:
两个 unix 进程可以在 TCP 套接字上写入(也就是说,有一种方法可以让操作系统安排每个进程完成写入)? 如果是这样,会出现什么问题?
【问题讨论】:
-
是的。括号中部分的含义使我难以理解。写入和发送是原子的,但每个进程的发送可以任意交错。
标签: sockets process multiprocessing read-write tcpsocket
两个 unix 进程可以在 TCP 套接字上写入(也就是说,有一种方法可以让操作系统安排每个进程完成写入)? 如果是这样,会出现什么问题?
【问题讨论】:
标签: sockets process multiprocessing read-write tcpsocket
嗯...是的...两个 unix 进程可以write 到单个(共享)TCP 套接字...但我认为这是一个设计缺陷。
write 可能是原子的,但它可能是部分的,导致在write 调用之间写入交错数据。
将需要一个应用程序级同步元素来规避此问题。
这很可能会增加复杂性而不会增加价值。
【讨论】: