C#在锁语句中引发异常
示例
以下代码将解除锁定。不会有问题的。幕后锁语句的作用是tryfinally
lock(locker)
{
throw new Exception();
}在C#5.0规范中可以看到更多信息:
lock形式的声明
lock (x) ...
wherex是引用类型的表达式,恰好等于
bool __lockWasTaken = false;
try {
System.Threading.Monitor.Enter(x, ref __lockWasTaken);
...
}
finally {
if (__lockWasTaken) System.Threading.Monitor.Exit(x);
}除了那只x被评估一次。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短