首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java套接字多线程安全吗?

Java套接字多线程安全吗?
EN

Stack Overflow用户
提问于 2012-11-25 05:02:26
回答 2查看 9.3K关注 0票数 17

如果有多个Java线程同时写入同一套接字实例,是否会影响从同一套接字读取的对象的完整性?也就是说,对象的内容是否会被弄乱等等。对象的顺序是随机的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-25 05:03:19

一般来说,这是没有保证的。不同对象的比特很可能最终在网络上交错,导致结果无法辨别。因此,您需要提供外部同步。

有趣的是,即使是在操作系统级别的单个套接字写入也不一定是原子的。有关详细讨论,请参阅Is it safe to issue blocking write() calls on the same TCP socket from multiple threads?Be careful with the sendmsg() family of functions

票数 16
EN

Stack Overflow用户

发布于 2012-11-25 05:21:11

如果有多个Java线程同时向同一套接字实例写入,则为

您将从多个线程写入相同的OutputStream

是什么让你认为没有同步是个好主意?如果您开始从多个线程同时写入一个文件,而没有同步,您会期望该文件包含任何有意义的内容吗?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13545578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档