我现在正在编写一个多线程应用程序(准确地说是游戏)作为一个爱好/研究项目。我最近遇到了一个真正的“简单”问题,该问题导致线程之间的同步(如果对您来说很重要,则在c ++中)。
我的主要问题是-我试图学习良好的设计,并在可能的范围内使整个模型静音,这(我认为)是浪费资源,并且只是明确地提出进一步开发的问题。我曾考虑过基于同步事务的整个过程,但是我觉得它不适合游戏类型所需的性能/可扩展性。我是并发编程的新手,我是在这里学习有关并发编程的特定模式的新知识。
关于当前设计的一些话:
- MVC方法
- 在线同步由单独的代理处理,在从属客户端和主服务器上相同,并且与任何服务器逻辑分开处理
- 类似数据库的结构正独立于服务器逻辑进行同步,并且内置了一些较小的订阅/观察者模式,以通知控制器有关更改的信息。
注释
- 我不查找文档特定的信息(如果它们与性能或设计没有直接关系),我知道我的
cppreference
, - 我确实在寻找一些广泛的博客文章/网站,这些文章可以教给我更多有关并发设计模式的信息,
- 我确实想知道我是否只是在做错误的事情(尽管顺序不正确)。
编辑
就像迈克提到的那样,我没有问这个问题:
1)可以在并发编程中使用的最佳设计模式/规范是什么(在我的情况下最有用),
2)关于并发编程性能,最大的缺点是什么。