当前位置:  开发笔记 > 编程语言 > 正文

DatagramSocket.send线程是否安全?

如何解决《DatagramSocket.send线程是否安全?》经验,为你挑选了2个好方法。

我打算使用一个实例DatagramSocket并从不同的线程调用它的send方法......将UDP数据包发送到不同的客户端.方法线程是否安全,即从不同的线程调用此方法不会产生任何麻烦/不一致/竞争条件?

谢谢!



1> BraveNewCurr..:

是.这只是本机操作系统上的一个薄层,它是线程安全的.

请参见http://www.velocityreviews.com/forums/t150685-is-datagramsocket-thread-safe.html



2> user207421..:

UDP保证数据报完整到达(如果有的话).换句话说,即使发送方存在多线程,也不会有交错.这就是你所需要的.你实际上并不需要线程安全.但是,C send()系统调用与所有系统调用一样是线程安全的,因为它们是原子的.


但它真的保证java包装器是线程安全的吗?我想不是.
我不明白你的论点.例如,未指定SimpleDateFormat更改任何对象中的任何状态.但是每个人都知道 - 它不是线程安全的.
推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有