问题描述
我正在用 C++ 编写一个高性能的面向数据的游戏程序。我使用了许多在启动时读取的静态表。我这样做是因为我想要大的连续数据块,我可以按顺序处理这些数据块以最大程度地减少缓存未命中。
我使用单例来包装这些表,原因如下:
- 我需要保证所有数据在启动时成功加载。如果任何表加载失败,我将退出并显示错误消息。
- 一旦程序启动,我以这种方式使用的数据就永远不会更新。
- 我需要能够从代码中的多个位置访问数据。
- 我需要多个线程才能同时读取数据。我正在使用线程安全实现。
- 我需要通过接口强制访问这些表,以控制访问方式。所以我不希望数据本身可以全局访问,只希望数据的接口。
我知道单例模式不被认为是好的做法,但我在使用它时没有遇到任何问题。所以我的问题是,满足我上面概述的 5 个条件的更好方法是什么?
任何建议将不胜感激!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)