所以,这不是我的代码,并且已缩短以显示行为,但它给出了非常意外的结果.
我在一个类和一个锁中有两个函数
object mylock = new object();
List<string> temp = new List<string>();
Func1(string)
{
lock(mylock)
{
temp.Add(string);
}
}
Func2()
{
lock(mylock)
{
temp.ForEach(p => Func1(p));
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我知道这没有意义,但是当调用Func2时,不应该Func1死锁吗?在我们的例子中,它执行.谢谢.
| 归档时间: |
|
| 查看次数: |
428 次 |
| 最近记录: |