如何在Java中制作变量全球



在多玩家在线游戏中。如何保持变量全球?我们正在开发一个在线游戏,需要一个全局变量。将有一台服务器和多个客户端。我们如何保留一个通用变量,该变量是所有客户端的静态且可编辑的。我们可以有一些建议吗?

如果您移至群集,则具有基于堆的变量将成为一个问题,因为它不会足够全球(每个节点都会有一个单独的副本)。

如果这不是问题,并且如果"变量",您的意思是像字符串或长时间这样的简单内容,那么最好的选择是使用java.util.concurrent.Atomic*类。例如,

public static final AtomicLong id = new AtomicLong();

最重要的优点是,可以使用比较和划分和观察,例如id.getAndIncrement();

,可以在原子上进行原子更新

server 必须控制变量。

客户想对该变量进行修改时,他们不会更改它,他们必须向服务器发送消息,告诉新的通缉值。服务器将其存储并向所有客户端广播消息,然后他们都用新值更新该变量。

当然,如果服务器本身修改,它只是广播了新值。

- public static final用于在Java中制作变量全局。

- ,但是必须将volatile用于此,以便操作直接发生到内存并直接从内存中读取。

- 最好使用java.util.concurrent.Atomic的类。

- 您可以使用AtomicIntegerAtomicLongAtomicReference等。

相关内容

  • 没有找到相关文章

最新更新