使用Monitor类、Lock和Mutex类来同步多线程的执行

  昨天在谈Singleton模式时,提到了多线程应用中有时会出现多个实例化的现象,需要进行线程同步

  在多线程中,为了保持数据的同步,需要加锁,.NET Framework已经为我们提供了三个加锁的机制,分别是Monitor类、Lock关键字和Mutex类。

  其中Lock关键词用法比较简单,Monitor类和Lock的用法差不多。这两个都是锁定数据或是锁定被调用的函数。而Mutex则多用于锁定多线程间的同步调用。简单的说,Monitor和Lock多用于锁定被调用端,而Mutex则多用锁定调用端。
 
  网上看到有偏文章,通过示例来讨论这三者的使用,直接借用过来了:
  C#中使用Monitor类、Lock和Mutex类来同步多线程的执行 - http://blog.csdn.net/tjvictor/archive/2007/01/20/1488290.aspx
 
posted on 2010-01-03 18:16  lantionzy  阅读(590)  评论(0编辑  收藏  举报