C#多线程怎么锁定全局变量?

 我来答
路路通667788
推荐于2019-10-20 · TA获得超过1.5万个赞
知道小有建树答主
回答量:66
采纳率:100%
帮助的人:1.2万
展开全部

只要加上一下代码就可以了:

public static object locker = new object();//添加一个对象作为锁

就是在有修改的时候加上lock

lock (locker)//锁

{

/*添加过程*/

dictionary.Add("....", DateTime.Now);        }

lock (locker)//锁

{    /*删除过程*/

dictionary.Remove("....");        }

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SK蓮華生輝
2018-02-02 · TA获得超过199个赞
知道小有建树答主
回答量:56
采纳率:0%
帮助的人:0
展开全部
方法还是很多的,例如:

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("....");
}
}
至于线程的调用过程就不写了,你根据实际情况操作吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式