首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

急高并发情况上静态变量会不会混乱

2013-02-15 
急啊,高并发情况下静态变量会不会混乱比如一个房间进来个人静态变量加1,可是高并发时,会不会2个人同时走到

急啊,高并发情况下静态变量会不会混乱
比如一个房间进来个人静态变量加1,可是高并发时,会不会2个人同时走到那一步,结果只加了1,而不是2,有没有这种可能?
[解决办法]
加锁吧,参考下面代码

 public static void Main()
    {
        Person.Add(); //加一人
    }

   
    public class Person
    {
        public static int Count = 0;
        public static object SyncRoot=new object();
        public static void Add()  //加一人
        {
            lock(Person.SyncRoot) //锁
            {
                Count++;
            }
        }

    }

[解决办法]
排队
或者加锁
都可以
[解决办法]
静态变量不是线程安全的,可以使用下面的原子操作
Interlocked.Increment(Int32)
[解决办法]
排队
 或者加锁
 都可以 

热点排行