【发布时间】:2013-07-30 20:52:56
【问题描述】:
我有一点困惑。我在 c# 中使用一个名为 status 的静态变量,其属性如下
private static bool status;
public static bool Status
{
get { return status; }
set { status = value; }
}
现在我已经分别启动了 2 个线程 第一个线程使用变量状态的属性将值设置为真/假 第二个线程使用变量状态的属性获取值。
在这种情况下,我想会发生什么
如果第一个线程尝试更新变量状态的值,而第二个线程尝试读取变量状态的值
我是否需要对属性内部的这个变量状态使用锁定语句来处理线程同步或不需要? 谁能帮助我澄清这个疑问?
【问题讨论】:
-
我是这个 c# .net 环境的新手。我看到了那个链接,它看起来非常高级。我无法清楚地理解。您能否得出结论并告诉我是否应该使用 lock 语句
-
在这种特定情况下,读/写
bool实际上是一个原子操作,所以我认为您不需要锁定它。显然这不适用于所有属性 -
挖了两年多的坟墓!!
标签: c#