我打算使用DatagramSocket
的实例并从不同的线程调用其send方法...将UDP数据包发送到不同的客户端。方法线程是否安全,即从不同的线程调用此方法不会产生任何麻烦/不一致/竞争条件?
谢谢!
答案 0 :(得分:8)
是。这只是本机操作系统上的一个薄层,它是线程安全的。
请参阅此处http://www.velocityreviews.com/forums/t150685-is-datagramsocket-thread-safe.html
答案 1 :(得分:7)
UDP保证数据报完好无损(如果有的话)。换句话说,即使发送方存在多线程,也不会有交错。这就是你所需要的。你实际上并不需要线程安全。但是,C send()系统调用与所有系统调用一样是线程安全的,因为它们是原子的。