摘要: 在上一讲介绍了使用lock来实现线程之间的同步。实际上,这个lock是c#的一个障眼法,在C#编译器编译lock语句时,将其编译成了调用Monitor类。先看看下面C#源代码:public static void MyLock(){ lock (typeof(Program)) { }}上面的代码通过lock语句使MyLock同步,这个方法被编译成IL后,代码如图1所示。从上图被标注的区域可以看到,一条lock语句被编译成调用Monitor的Enter和Exit方法。Monitor在System.Threading命名空间中。lock的功能就相当于直接调用Monitor的... 阅读全文
posted @ 2013-06-08 21:33 云中雀 阅读(297) 评论(0) 推荐(0) 编辑