2012-01-11 96 views
8

我对这些概念很陌生。但随着我在threading更深入,我感到困惑。AutoResetEvent和Mutex之间的区别是什么

mutex,semaphoreautoresetevent有什么意义。

只有研究了解我才知道的是mutex可以跨过程操作执行。如果这是为什么它不具有与Set,Reset,WaitOne相同的方法。

我们可以用mutex代替AutoResetEvent,反之亦然?

请解决这个难题。

+1

请阅读http://www.albahari.com/threading/ – 2012-01-11 06:28:43

回答

16

不同的概念 - 一个Mutex是一个独占的令牌;只有一个人可以拥有它;当他们释放它时,其他人可以与之战斗。 AutoResetEvent是一个门,允许一个人在关门之前通过,并且通过与想要通过的人的队列分开的按钮来操作。当他们通过门立即关闭。

+0

是的,但都解决相同的目的。在某个时间点,只有一个人有钥匙。 – 2012-01-11 06:40:43

+1

@DJ不,他们不。没有人为“AutoResetEvent”提供“键”;你排队,然后当门打开时,你通过。当你拿着钥匙时,你不会得到一个区域的时间。 – 2012-01-11 06:43:39

+0

@D J:建议你阅读我发布的链接上的文章。 – 2012-01-11 06:45:42

相关问题