针对不同类型的数据进行不同的处理,总的来说可以大体分为几大类:玩家数据,活动数据,全局数据。其中玩家和活动数据很好处理,因为这两种类型的数据都是每个玩家或每个活动独立一份的,这样每个玩家只需要在玩家线程或活动线程调用自己的数据就好了,这样可以减少不必要锁的使用提高执行的效率。而全局数据属于共享数据,它的读写顺序将影响数据的原子性,所以这个将无法避免的使用到锁,而使用高效的读写锁将使得这个过程更加安全和高效。读写锁会使得读操作畅通无阻,一旦出现写操作时将会独占此数据,直到操作结束。
针对不同类型的数据进行不同的处理,总的来说可以大体分为几大类:玩家数据,活动数据,全局数据。其中玩家和活动数据很好处理,因为这两种类型的数据都是每个玩家或每个活动独立一份的,这样每个玩家只需要在玩家线程或活动线程调用自己的数据就好了,这样可以减少不必要锁的使用提高执行的效率。而全局数据属于共享数据,它的读写顺序将影响数据的原子性,所以这个将无法避免的使用到锁,而使用高效的读写锁将使得这个过程更加安全和高效。读写锁会使得读操作畅通无阻,一旦出现写操作时将会独占此数据,直到操作结束。
本文标题:游戏中的单线程任务队列模型
本文链接:https://www.haomeiwen.com/subject/jgxxxctx.html
网友评论