2009-07-22 135 views

回答

14

互斥锁可以跨进程共享,并且比Monitor更重。

使用监视器,除非需要跨进程边界进行同步。

39

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

对于最简单的场景,Monitor(通过lock)很好。

16

关于这个东西的一个很好的建议来源是Joseph Albahari的“Threading in C#”。所有的内容都可以在线获得。在我看来,这是值得阅读the whole book,但哟可以检查以下几个部分:

虽然它不包括.NET 4.0 new parallel constructs,但它是一个非常好的起点。

更新:该书已更新。现在,它涵盖了其part 5中的.NET 4.0并行编程。