可能重复:
What are the differences between various threading synchronization options in C#?显示器VS互斥锁在C#
是什么监视器和C#中的互斥之间的区别?
何时使用监视器以及何时在C#中使用互斥锁?
可能重复:
What are the differences between various threading synchronization options in C#?显示器VS互斥锁在C#
是什么监视器和C#中的互斥之间的区别?
何时使用监视器以及何时在C#中使用互斥锁?
互斥锁可以跨进程共享,并且比Monitor更重。
使用监视器,除非需要跨进程边界进行同步。
A Monitor
被管理,并且更轻 - 但仅限于您的AppDomain
。一个Mutex
可以被命名,并且可以跨越进程(在应用程序之间允许一些简单的IPC场景),并且可以在需要等待处理的代码中使用)。
对于最简单的场景,Monitor
(通过lock
)很好。
关于这个东西的一个很好的建议来源是Joseph Albahari的“Threading in C#”。所有的内容都可以在线获得。在我看来,这是值得阅读the whole book,但哟可以检查以下几个部分:
虽然它不包括.NET 4.0 new parallel constructs,但它是一个非常好的起点。
更新:该书已更新。现在,它涵盖了其part 5中的.NET 4.0并行编程。
http://stackoverflow.com/questions/301160/what-are-the-differences-between-various-threading-synchronization-options-in-c – joe 2009-07-22 09:14:57