Monitor vs Mutex in c# [duplicate]

若如初见. 提交于 2019-12-17 06:28:31

问题


Possible Duplicate:
What are the differences between various threading synchronization options in C#?

What is the difference between a Monitor and a Mutex in C#?

When to use a Monitor and when to use a Mutex in C#?


回答1:


A Monitor is managed, and more lightweight - but is restricted to your AppDomain. A Mutex can be named, and can span processes (allowing some simple IPC scenarios between applications), and can be used in code that wants a wait-handle).

For most simple scenarios, Monitor (via lock) is fine.




回答2:


A good source of advice on this stuff is the "Threading in C#" by Joseph Albahari. All the content is available online. In my opinion, it's worth to read the whole book, but yo can check these parts:

  • On Locking (C# Monitor);

  • On Mutex.

Although it does not cover .NET 4.0 new parallel constructs, it's a very good starting point.

Update: The book has been updated. Now, it covers .NET 4.0 Parallel Programming in its part 5.




回答3:


A Mutex can be shared across processes, and is much more heavy-weight than a Monitor.

Use a Monitor unless you need to synchronize across process boundaries.



来源:https://stackoverflow.com/questions/1164038/monitor-vs-mutex-in-c-sharp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!