DatagramSocket.send thread 是安全的吗?

2022-09-03 14:27:45

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

谢谢!


答案 1

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

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


答案 2

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


推荐