2012-01-11 8 views
8

これらの概念は初めてです。しかし、私が深く行くとthreading私は混乱している。AutoResetEventとMutexの違いは何ですか?

mutex,semaphoreの意味は、autoreseteventを超えていますか。

私が研究で知った違いは、mutexがプロセス操作全体で実行できることです。この場合、SetResetWaitOneと同じメソッドがない理由です。

AutoResetEventmutexに置き換えることはできますか?

このパズルを解決してください。

+1

ご覧くださいhttp://www.albahari.com/threading/ –

答えて

16

異なる概念 - Mutexは排他的なトークンです。一人の人間だけがそれを持つことができます。彼らがそれを解放するとき、誰かがそれを争うことができる。 AutoResetEventは、1人の人物が閉鎖前に通り抜けることができ、通過したい人のキューとは別のボタンによって操作されるゲートです。彼らがゲートを通過するときすぐにが終了します。

+0

はい、両方とも同じ目的を解決します。ある時点では、1人だけが鍵を持っています。 –

+1

@DJいいえ、彼らはしません。 'AutoResetEvent'のために誰も"キーを持っていません "。あなたが待ち行列に入り、ゲートが開いたらあなたが通過します。あなたは鍵を持っている時間の領域を取得していない。 –

+0

@D J:私が投稿したリンクの記事を読むことをお勧めします。 –

関連する問題