JRR*_*JRR 17 java sockets multithreading thread-safety
如果我有多个Java线程同时写入同一个Socket实例,是否会影响从同一个套接字读取的对象的完整性?即,对象的内容是否会被弄乱等等.对象的排序是随机的.
NPE*_*NPE 16
一般来说,没有任何保证.不同对象的比特很可能最终在线上交错,使结果难以辨认.因此,您需要提供外部同步.
值得注意的是,即使是OS级别的单个套接字写入也不一定是原子的.有关进一步的讨论,请参阅从多个线程在同一TCP套接字上发出阻塞write()调用是否安全?并注意sendmsg()函数系列.
如果我有多个Java线程同时写入同一个Socket实例
您OutputStream将从多个线程写入相同的内容.
是什么让你认为没有同步是一个好主意?如果您开始同时从多个线程写入文件而没有同步,您是否希望该文件包含任何有意义的内容?
| 归档时间: |
|
| 查看次数: |
8828 次 |
| 最近记录: |