C#编程中的语句、命名空间与类详解
1. lock语句
lock语句用于获取给定对象的互斥锁,执行语句,然后释放锁。其语法结构如下:
lock (expression) embedded-statement
这里的 expression
必须表示引用类型的值,不会对其执行隐式装箱转换,若表示值类型的值则会报错。
例如,以下形式的lock语句:
lock (x) ...
其中 x
是引用类型的表达式,它精确等同于:
System.CriticalSection.Enter(x);
try {
...
}
finally {
System.CriticalSection.Exit(x);
}
不过 x
仅计算一次。 System.CriticalSection
类的 Enter
和 Exit
方法的确切行为由实现定义。
类的 System.Type
对象可方便地用作该类静态方法的互斥锁,示例代码如下:
class Cache
{