如果我在一个lock语句中有一个yield,这个锁是在每个yield (在下面的例子中是5次)被取出,还是只对列表中的所有项都被取出一次?
谢谢
private List<string> _data = new List<string>(){"1","2","3","4","5"};
private object _locker =new object();
public IEnumerable<string> GetData()
{
lock (_locker)
{
foreach (string s in _data)
{
yield return s;
}
}
}
https://stackoverflow.com/questions/2847586
复制相似问题