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 出阁宴祝福语姐姐简短