使用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