我一直在为大学实验室的两个服务器客户端构建一个简单的石头剪刀布游戏。我有一个非常简单的服务器,当两个客户端登录时启动游戏。它是这样工作的:
服务器创建一个游戏对象并等待玩家客户端请求游戏。
一旦两个玩家请求游戏,服务器就会创建一个玩家 1 对象和一个玩家 2 对象,将游戏对象传递给他们的构造函数。
玩家调用玩家对象上的方法,这些方法又调用游戏对象上的方法。游戏对象中包含同步方法。
每个玩家进行他们的移动,该移动存储在游戏对象中,然后游戏对象计算获胜者。
玩家对象在游戏对象中调用相同的方法,这一切都很好。但是我的一个朋友对我在任何方法中都没有调用 wait() 或 notify() 感到困惑。他已经展示了他的实验室,并通过了。他询问了同步方法中的 wait() 和 notify() ,但他说她的回答含糊不清,他仍然不确定,但我可能应该把它们放在以防万一。那么有什么关系??我需要在同步方法中使用 wait() 和 notify() 吗?
另外,我读到同步在 Java 虚拟机之间不起作用,这是真的吗?如果是这样,这对我的游戏有什么影响,同步有什么作用吗?
非常感谢。