我正在尋找這些信息,並且無法在其他地方找到它: 我正在用服務器和固定數量的客戶端構建多人遊戲。 我們的客戶是多線程的(一個用於遊戲邏輯和可視化的線程,一個用於接收消息的線程),並且可以異步接收來自服務器的消息。通訊使用UDP進行。在多線程環境中使用的UDP Socket.receive()方法
如果前一個線程調用socket.receive()方法而後一個線程通過使用socket.receive()的循環,會發生什麼?
更具體地說,如果消息從服務器到達並且兩個線程同時等待接收,那麼兩個線程都收到消息嗎? 如果沒有,是否定義哪個線程將接收數據包?
請注意,兩個線程都使用相同的套接字。
是的 - 如果GUI線程想要來自對端的東西,它應該通知網絡線程獲取它。 – 2012-04-15 08:25:20