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

解决方案 »

  1.   

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

  2.   


    可是falsh版本的,禁不住刷啊请求太频繁也不太好,还是谢谢你。
      

  3.   

    我的解决方案两个:1.用原子锁,速度是原子级别的        static int num = 1;
            public int NewNum
            { 
                get{return Interlocked.Increment(ref num);}
            }不过你的程序要是12360那种并发,这个显然还是不行2.预排号
    就是预先分配几组编号比如1-10000 10001-20000...
    然后开多个线程分配号码。
      

  4.   

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