C#多线程学习(九)lock,Monitor,Mutex的区别

lock和Monitor的区别

 

一、lock的底层本身是Monitor来实现的,所以Monitor可以实现lock的所有功能。 
二、Monitor有TryEnter的功能,可以防止出现死锁的问题,lock没有。

Mutex和其他两者的区别

一、如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类

二、lock和monitor可以锁定对象也可以锁定函数,而mutex只能锁定函数

你可能感兴趣的:(C#)