我有两个要调用的线程:multicastSocket.send(dP1)
和multicastSocket.send(dP2)
dP1
和dP2
是不同的DatagramPacket
对象,并且multicastSocket
是MulticastSocket的共享实例。
我不明白如果线程在同一时间调用multicastSocket,
的话,send()
上是否可能发生并发问题。
最佳答案
DatagramSocket的读取和写入彼此独立。
DatagramSocket写入是原子的,因此它们是线程安全的。
DatagramSocket读取由Java同步,并且它们也是
在OS级别是原子的,因此它们还是线程安全的。
MulticastSocket从DatagramSocket继承这些方法,因此同样适用于它。