寻找单例模式的替代方案

问题描述

我正在用 C++ 编写一个高性能的面向数据的游戏程序。我使用了许多在启动时读取的静态表。我这样做是因为我想要大的连续数据块,我可以按顺序处理这些数据块以最大程度地减少缓存未命中。

我使用单例来包装这些表,原因如下:

  1. 我需要保证所有数据在启动时成功加载。如果任何表加载失败,我将退出并显示错误消息。
  2. 一旦程序启动,我以这种方式使用的数据就永远不会更新。
  3. 我需要能够从代码中的多个位置访问数据。
  4. 我需要多个线程才能同时读取数据。我正在使用线程安全实现。
  5. 我需要通过接口强制访问这些表,以控制访问方式。所以我不希望数据本身可以全局访问,只希望数据的接口。

我知道单例模式不被认为是好的做法,但我在使用它时没有遇到任何问题。所以我的问题是,满足我上面概述的 5 个条件的更好方法是什么?

任何建议将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...