我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:多盈娱乐 > 多类逻辑 >

编程中 游戏中的逻辑类~是不是都是单线程的?

归档日期:07-13       文本归类:多类逻辑      文章编辑:爱尚语录

  网络游戏中,服务器端接收客户端信息是多线程,然后把信息传递到业务逻辑类中,例如一个纸牌游戏,牌数量啊·牌堆啊·弃牌堆啊·都是一个的~如果多线程根本控制不了,经常出现同一变量...

  网络游戏中,服务器端接收客户端信息是多线程,然后把信息传递到业务逻辑类中,例如一个纸牌游戏,牌数量啊·牌堆啊·弃牌堆啊·都是一个的~如果多线程根本控制不了,经常出现同一变量多线程访问,我想问问·是不是用单线程做?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部你做梦呢。单线程做就等死吧。你既然知道信息处理可以多线程,为什么不考虑信息实例也是多线程呢。不同牌局就有不同的“牌局”实例。对于同一个实例来说,也可以多线程操作啊,就像一副牌可以四个人打,但是同一时刻只能有一个人出牌一样,只要通过同步技术保证同一时刻只有一个线程操作牌局就可以了。实际中统一变量多线程操作很常见,只不过每个线程操作时都会对资源进行锁定,保证自己的独占访问。稍微学下多线程编程就知道了。

  多线程中:一个函数里{增加一张牌函数获得牌名字函数获得牌数量}一个函数里

  追答多线程里面有互斥机制啊,通过这个来保证访问的排他性,这个是操作系统提供的特性保证的。比如出牌就可以定义一个出牌的互斥量,操作系统保证这个东西只有一个线程能获取到。线程首先申请互斥量(如果有其它占有了,就得等),得到之后在出牌,出牌结束就释放互斥量给别人。这样就保证了唯一访问了。如果这个操作很长 ,整段代码都必须锁定。但是实际中可以根据情况优化,分成几种情况然后产生几个互斥量实现以提升性能。

本文链接:http://ayraswimwear.com/duoleiluoji/657.html