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#中的线程".所有内容均可在线获取.在我看来,值得阅读整本书,但你可以检查这些部分:
关于锁定(C#Monitor) ;
在Mutex上.
虽然它不包括.NET 4.0新的并行结构,但它是一个非常好的起点.
更新:该书已更新.现在,它在第5部分中介绍了.NET 4.0并行编程.