什么是AutoResetEvent和Mutex之间的区别

D J*_*D J 11 c# multithreading mutex autoresetevent

我是这些概念的新手.但随着我的深入,threading我感到困惑.

什么是意义mutex,semaphoreautoresetevent.

我在研究中发现的唯一区别是,a mutex可以跨过程操作执行.如果这就是为什么它不具有相同的方法的情况下Set,Reset,WaitOne.

我们可以替换AutoResetEvent使用mutex,反之亦然吗?

请解决这个难题.

Mar*_*ell 20

不同的概念 - a Mutex是一个独有的标记; 只有一个人可以拥有它; 当他们释放它时,其他人可以战胜它.An AutoResetEvent是一个门,在关闭之前只允许一个人通过,并且由一个与想要通过的队列分开的按钮操作.当他们通过大门立即关闭.

  • @DJ不,不行.互斥体的关键是将互斥锁**作为持续时间**,例如进行一些需要被视为单个单元的更改.虽然我们拥有它,但我们知道**其他人没有**.这不是自动重置事件的情况; 任何代码都可以根据需要多次按下"打开"按钮.没有"我做完了,回去了",除非你的"做"代码在出路时按下"打开"按钮,而没有其他代码.但这不是自动重置事件的常见用法. (4认同)