摘要: 这两个对象一般用于锁定一段代码,或者锁定一个对象。下面举两个例子予以说明:  1:锁定代码[代码]  print(int a)中的代码被lock锁定,两个线程便只能依次访问这段代码,注意这里的类A是单例,这样是为了lock锁住的都是同一个对象。这里的lock也可以用Monitor对象来代替:  [代码]  此时,一直锁定这段代码(即去掉Monitor.Exit(this)),结果将会很有趣:要么线... 阅读全文
posted @ 2009-11-03 17:00 弹着钢琴设计 阅读(753) 评论(0) 推荐(0) 编辑
摘要: Framework为我们提供了三个加锁的机制,分别是Monitor类、Lock关 键字和Mutex类。   总体而言,lock和monitor可以锁定对象,也可以锁定函数;而mutex一般用于锁定函数,并保证不同线程间同步调用函数,而不会受线程优先级影响。使用lock和monitor对象锁定对象时(即在对象外部锁定,或者在对象中的函数被调用的地方锁定对象),可以保证该对象一次只被一个线程所访问,但... 阅读全文
posted @ 2009-11-03 11:10 弹着钢琴设计 阅读(612) 评论(0) 推荐(0) 编辑