java - 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>);
解决方案
DatagramSocket#send
在您发送的数据包上同步,所以是的。
推荐阅读
- node.js - 从 Chrome 访问代理服务器时的请求延迟
- audio - 有没有办法通过 Safari 中的 Web Audio API 提高录音质量?
- c# - c#如何将char转换为VirtualKeyCode?
- php - 基于 Woocommerce 3 中数量的购物车商品折扣
- c++ - 用 x86/x64 msvc 的 Intrinsics 替换内联汇编 tailcall 函数结尾
- android - 运行 DJI UX SDK 4.7 的问题
- emacs - 组织模式下每周议程视图的命令
- security - 本地到本地 CouchDB 连续复制的身份验证
- javascript - 禁用 AngularJS 表单中选择标记内的选项
- html - 将数字与对话框中的值进行比较