Java DatagramSocket class 是线程安全的吗?
Is Java DatagramSocket class thread-safe?
如果多个线程写入同一个套接字,数据会不会被破坏? (例如,发送给错误收件人的数据包)。
DatagramSocket datagramSocket = new DatagramSocket(PORT);
new Thread(() -> {
while (true) datagramSocket.send(<DATAGRAM_PACKET_RECIPIENT_A>);
}).start();
while (true) datagramSocket.send(<DATAGRAM_PACKET_RECIPIENT_B>);
DatagramSocket#send
是在你发送的数据包上同步的,所以是的。
如果多个线程写入同一个套接字,数据会不会被破坏? (例如,发送给错误收件人的数据包)。
DatagramSocket datagramSocket = new DatagramSocket(PORT);
new Thread(() -> {
while (true) datagramSocket.send(<DATAGRAM_PACKET_RECIPIENT_A>);
}).start();
while (true) datagramSocket.send(<DATAGRAM_PACKET_RECIPIENT_B>);
DatagramSocket#send
是在你发送的数据包上同步的,所以是的。