我有两个要调用的线程:

multicastSocket.send(dP1)

multicastSocket.send(dP2)

dP1dP2是不同的DatagramPacket对象,并且multicastSocket是MulticastSocket的共享实例。

我不明白如果线程在同一时间调用multicastSocket,的话,send()上是否可能发生并发问题。

最佳答案

DatagramSocket的读取和写入彼此独立。
DatagramSocket写入是原子的,因此它们是线程安全的。
DatagramSocket读取由Java同步,并且它们也是
在OS级别是原子的,因此它们还是线程安全的。
MulticastSocket从DatagramSocket继承这些方法,因此同样适用于它。

07-25 21:17