lock和Monitor的区别
Mutex和其他两者的区别
Mutex本身可以实现lock和Monitor所有的操作。
但是Mutex是内核级别的,消耗较大的资源,不适合频繁的操作,会降低操作的效率。所以一般被调用部分的资源锁,常常用lock或者Monitor,可以提高效率。而线程和线程间的协调,可以用Mutex,因为相互互斥切换的机会会大大的降低,效率就不再那么的重要了。
Mutex本身是可以系统级别的,所以是可以跨越进程的。比如我们要实现一个软件不能同时打开两次,那么Mutex是可以实现的,而lock和monitor是无法实现的。
static Mutex mutex = new Mutex(); { mutex.WaitOne(); Console.WriteLine(num2++); mutex.ReleaseMutex(); }
原文:https://www.cnblogs.com/fanfan-90/p/13127534.html