读书人

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

发布时间: 2013-02-15 15:46:56 作者: rapoo

急啊,高并发情况下静态变量会不会混乱
比如一个房间进来个人静态变量加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)
[解决办法]
排队
或者加锁
都可以

读书人网 >asp.net

热点推荐