首页 > 其他 > 详细

lock,Monitor,Mutex的区别

时间:2020-06-15 00:36:52      阅读:54      评论:0      收藏:0      [点我收藏+]

lock和Monitor的区别

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

 

Mutex和其他两者的区别

Mutex本身可以实现lock和Monitor所有的操作。
但是Mutex是内核级别的,消耗较大的资源,不适合频繁的操作,会降低操作的效率。所以一般被调用部分的资源锁,常常用lock或者Monitor,可以提高效率。而线程和线程间的协调,可以用Mutex,因为相互互斥切换的机会会大大的降低,效率就不再那么的重要了。
Mutex本身是可以系统级别的,所以是可以跨越进程的。比如我们要实现一个软件不能同时打开两次,那么Mutex是可以实现的,而lock和monitor是无法实现的。

static Mutex mutex = new Mutex();
{
mutex.WaitOne();
Console.WriteLine(num2++);
mutex.ReleaseMutex();
}

 

 

lock,Monitor,Mutex的区别

原文:https://www.cnblogs.com/fanfan-90/p/13127534.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!