日期:2014-05-17  浏览次数:20428 次

排队怎么设计呢。
在做一个类似欢乐斗地主比赛场,参加比赛拿到比赛号码的游戏,因为考虑到很多人同时进行排队,这时候排队号码该如何生成呢?之前是用LOCK锁住程序,一个人排完了,其他人才排,但是这种效率有点低,求解更好的思路。是ASP.NET版+flash的
asp.net flash 游戏

------解决方案--------------------
没实际做过

不知道  http长连接  或者ajax轮询  请求不知道能否实现呢
------解决方案--------------------
我的解决方案两个:

1.用原子锁,速度是原子级别的

        static int num = 1;
        public int NewNum
        { 
            get{return Interlocked.Increment(ref num);}
        }

不过你的程序要是12360那种并发,这个显然还是不行

2.预排号
就是预先分配几组编号比如1-10000 10001-20000...
然后开多个线程分配号码。
------解决方案--------------------
引用:
没实际做过

不知道  http长连接  或者ajax轮询  请求不知道能否实现呢

flash直接用套接字不就好了
------解决方案--------------------
第二个里面也可以用原子锁,也可以用Monitor,Mutx等

当然要平均的把用户引导给所有分组。你也可以引入状态的概念,分配前获取每个组有多少用户在等,以便合理把请求分配到组。