MulticastSocket.send() 是可重入的吗?

Is MulticastSocket.send() reentrant?

我有 2 个线程要调用:

multicastSocket.send(dP1)

multicastSocket.send(dP2)

分别是,其中dP1dP2是不同的DatagramPacket对象,multicastSocket是MulticastSocket的共享实例

我不明白如果线程同时调用 send() 是否会在 multicastSocket, 上发生并发问题。

  • DatagramSocket读写相互独立
  • DatagramSocket 写入是原子的,因此它们是线程安全的。
  • DatagramSocket 读取由 Java 同步,它们也是 OS 级别的原子,因此它们也是线程安全的。
  • MulticastSocket 继承了 DatagramSocket 的这些方法,所以同样适用于它。