C#多线程怎么锁定全局变量?
2个回答
展开全部
只要加上一下代码就可以了:
public static object locker = new object();//添加一个对象作为锁
就是在有修改的时候加上lock
lock (locker)//锁
{
/*添加过程*/
dictionary.Add("....", DateTime.Now); }
lock (locker)//锁
{ /*删除过程*/
dictionary.Remove("...."); }
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法还是很多的,例如:
public static Dictionary<string, DateTime> dictionary = new Dictionary<string, DateTime>();
public static object locker = new object();//添加一个对象作为锁
public static void AddRecord()//线程1循环调用此函数
{
lock (locker)//锁
{
/*添加过程*/
dictionary.Add("....", DateTime.Now);
}
}
public static void DeleteRecord()//线程2循环调用此函数
{
lock (locker)//锁
{
/*删除过程*/
dictionary.Remove("....");
}
}
至于线程的调用过程就不写了,你根据实际情况操作吧
public static Dictionary<string, DateTime> dictionary = new Dictionary<string, DateTime>();
public static object locker = new object();//添加一个对象作为锁
public static void AddRecord()//线程1循环调用此函数
{
lock (locker)//锁
{
/*添加过程*/
dictionary.Add("....", DateTime.Now);
}
}
public static void DeleteRecord()//线程2循环调用此函数
{
lock (locker)//锁
{
/*删除过程*/
dictionary.Remove("....");
}
}
至于线程的调用过程就不写了,你根据实际情况操作吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询