锁,监视器,互斥

Suk*_*mar 1 c#

可能重复:
c#中的监视器与互斥锁

嗨,

在这个网站上,我发现不同人的不同答案令人困惑.仍然完全不清楚在哪种情况下,[Lock,Monitor,Mutex]这三个术语中的每一个对于实时需求都非常有用.这些术语之间的混淆更加复杂.

我需要在高水平深度上有非常明显的差异,并且基本上需要在三个术语中的每一个中使用更好的例子和清楚的理解.

请使用C#.NET以非常好的示例提供非常高级别的实时使用或需求的信息.

谢谢Sukumar

Luc*_*ero 9

简化和简短:

A Monitor是托管的.NET同步原语(范围是仅一个应用程序域).C#lock()除了使用Monitortry...finally子句之外什么都不做,以确保在异常的情况下释放锁.

Mutex是一个OS同步对象,也可用于跨多个进程同步(通过命名的互斥锁).

  • 锁定+1内部使用Monitor终于尝试http://msdn.microsoft.com/en-us/library/ms173179(VS.80).aspx"使用lock关键字通常比直接使用Monitor类更受欢迎,因为锁更简洁,因为锁可以确保释放底层监视器,即使受保护的代码会抛出异常.MSDN (3认同)