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 工厂祝福语简短10字
17 妹妹结婚伴娘祝福语简短
18 猪年给老师祝福语简短