【发布时间】:2012-01-08 00:20:07
【问题描述】:
好的,这就是我拥有的财产
public List<String> names{
get{
lock(_names)
return _names;
}
set{
lock(_names)
_names = value
}
}
private List<String> _names;
现在说我对这样的名称进行 foreach
foreach(String s in names)
{
Console.WriteLine(s);
}
我的问题是,names 是锁定整个foreach,还是每次设置s 时只锁定lock,然后在foreach 内解锁。
如果这令人困惑,说我尝试这样做
foreach(String s in names)
{
lock(names)
Console.WriteLine(s);
}
我会陷入僵局吗?
【问题讨论】: