【发布时间】:2012-04-15 08:12:37
【问题描述】:
我一直在寻找此信息,但在其他地方找不到: 我正在使用服务器和固定数量的客户端构建多人游戏。 我们的客户端是多线程的(一个线程用于游戏逻辑和可视化,一个线程用于接收消息)并且可以异步接收来自服务器的消息。 使用 UDP 实现通信。
如果前一个线程调用 socket.receive() 方法,而后一个线程也通过一个使用 socket.receive() 的循环会发生什么?
更具体地说,如果一条消息从服务器到达并且两个线程同时等待接收,那么这两个线程是否都收到了消息? 如果没有,是否定义了哪个线程将接收数据包?
请注意,两个线程都使用同一个套接字。
【问题讨论】:
标签: java multithreading udp