关于C#变量同时取值和赋值的问题。

我有一个long的变量。一个线程(Thread)对他赋值,随时赋值的。另一个线程(Timer)每一秒读取这个long变量一次。这就可能导致前一个线程赋值的同时,另一个线程... 我有一个 long 的变量。一个线程(Thread)对他赋值,随时赋值的。另一个线程(Timer)每一秒读取这个 long 变量一次。这就可能导致前一个线程赋值的同时,另一个线程正想去取值。这会发生什么?。会不会导致阻塞。运行过程中,并没出现什么异常,就是 Timer 不能很好的将值显示在TextBox上。一会儿显示,一会儿文本框变空白。 展开
 我来答
百度网友2c1a656
2015-04-02 · TA获得超过2747个赞
知道小有建树答主
回答量:215
采纳率:66%
帮助的人:118万
展开全部
lock(this)
{
//把取值和赋值的代码写在这句里面

//这句作用就是锁,处理多线程用的,加了这句就解决线程之间的冲突问题了....

}
追问
lock(this)?
追答
是的,只要锁过之后,lock里面的代码只能单线程操作,其他线程会在lock的前面等待,lock(这里面可以填个object类型的变量 直接this也行)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式