在c#中监视vs Mutex

Aja*_*jay 61 c# multithreading synchronization

可能重复:
C#中各种线程同步选项有什么区别?

C#中的Monitor和Mutex有什么区别?

何时使用监视器以及何时在C#中使用互斥锁?

Mar*_*ell 41

A Monitor是受管理的,而且更轻量级 - 但仅限于您的AppDomain.A Mutex可以命名,并且可以跨越进程(允许应用程序之间的一些简单的IPC场景),并且可以在需要等待句柄的代码中使用.

对于大多数简单的场景,Monitor(via lock)很好.


jpb*_*chi 20

关于这个问题的一个很好的建议来源是Joseph Albahari的"C#中的线程".所有内容均可在线获取.在我看来,值得阅读整本书,但你可以检查这些部分:

虽然它不包括.NET 4.0新的并行结构,但它是一个非常好的起点.

更新:该书已更新.现在,它在第5部分中介绍了.NET 4.0并行编程.


Kim*_*man 15

Mutex可以跨进程共享,并且比Monitor更重.

除非需要跨进程边界进行同步,否则请使用监视器.