返回

大侠你好,我想问一下,我看了一个棋牌游戏游戏服务器,开了多个线程处理套接字上的消息,但是没有做同步,有二种情况,一种是这些消息不需要同步,第二种可能是我没看到在哪做的同步,我有点疑问,用多线程是可以快速处理客户端的请求,可是如果不做同步,那么2个用户会不会发生冲突呢,比如同时请求坐到某个游戏桌的同一位置。

我看到别人处理的时候用了一个数组,用玩家套接字在数组里的下标对线程数量求模,然后把这个玩家套接口上的消息放到对应的线程处理队列里,这样子同一个用户的消息就会排在一个线程要处理的队列中,顺序处理,但是这样只是同一用户的消息做了同步,但是没有对2个玩家的消息做同步,这样不会产生问题吗。

我想问一问业界提倡的专业做法是怎么处理呢,多线程从完成端口取数据是取得到,可是这些线程间的消息如果同时来到,不会出现问题吗

名字: 自动排版 密码:

回复 | (2778) | xu365082218 | 2014-07-25 09:21:14