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