在多人在线游戏中。如何保持变量全局?我们正在开发一个在线游戏,我们需要一个全局变量。将有一个服务器和多个客户端。我们如何保持一个静态且可由所有客户端同步编辑的公共(public)变量。我们可以提供一些建议吗?
最佳答案
如果您迁移到集群,拥有基于堆的变量将成为一个问题,因为它不够全局(每个节点将有一个单独的副本)。
如果这不是问题,并且“变量”指的是像 String 或 Long 这样的简单事物,那么最好的选择是使用 java.util.concurrent.Atomic*
类。例如,
public static final AtomicLong id = new AtomicLong();
这样做最重要的优点是可以使用compare-and-swap和get-and-set进行原子更新,例如id.getAndIncrement();
关于java - java中如何将变量设置为全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13343772/