首页 > 解决方案 > Java DatagramSocket 类是线程安全的吗?

问题描述

如果多个线程写入同一个套接字,数据是否可能损坏?(例如,发送给错误接收者的数据包)。

DatagramSocket datagramSocket = new DatagramSocket(PORT);
new Thread(() -> {
    while (true) datagramSocket.send(<DATAGRAM_PACKET_RECIPIENT_A>);
}).start();
while (true) datagramSocket.send(<DATAGRAM_PACKET_RECIPIENT_B>);

标签: javanetworkingthread-safety

解决方案


DatagramSocket#send在您发送的数据包上同步,所以是的。


推荐阅读