我正在寻找这些信息,并且无法在其他地方找到它: 我正在用服务器和固定数量的客户端构建多人游戏。 我们的客户是多线程的(一个用于游戏逻辑和可视化的线程,一个用于接收消息的线程),并且可以异步接收来自服务器的消息。通讯使用UDP进行。在多线程环境中使用的UDP Socket.receive()方法
如果前一个线程调用socket.receive()方法而后一个线程通过使用socket.receive()的循环,会发生什么?
更具体地说,如果消息从服务器到达并且两个线程同时等待接收,那么两个线程都收到消息吗? 如果没有,是否定义哪个线程将接收数据包?
请注意,两个线程都使用相同的套接字。
是的 - 如果GUI线程想要来自对端的东西,它应该通知网络线程获取它。 – 2012-04-15 08:25:20