2012-01-11 29 views
8

के बीच अंतर मैं इन अवधारणाओं के लिए नया हूँ। लेकिन जैसा कि मैं threading में गहराई से जा रहा हूं, मैं उलझन में हूं।क्या AutoResetEvent और Mutex

mutex, semaphoreautoresetevent से अधिक महत्व क्या है।

केवल अंतर मैं अध्ययन के साथ में पता चला है कि एक mutex प्रक्रिया संचालन भर में प्रदर्शन कर सकते हैं है। यदि ऐसा है तो इसकी Set, Reset, WaitOne जैसी विधि क्यों नहीं है।

क्या हम AutoResetEvent को mutex और इसके विपरीत बदल सकते हैं?

इस पहेली को हल करें।

+1

कृपया http://www.albahari.com/threading/ –

उत्तर

16

अलग अवधारणा - एक Mutex एक विशेष टोकन है; केवल एक व्यक्ति इसे प्राप्त कर सकता है; जब वे इसे छोड़ देते हैं, तो कोई और इससे लड़ सकता है। एक AutoResetEvent एक गेट है जो ठीक से पहले एक व्यक्ति को बंद करने से पहले अनुमति देता है, और जिसे एक बटन द्वारा संचालित किया जाता है जो लोगों के कतार से अलग होता है। जब वे गेट से गुजरते हैं तो तुरंत बंद हो जाता है।

+0

हाँ पढ़ते हैं, लेकिन दोनों एक ही उद्देश्य का समाधान। एक समय में एकमात्र व्यक्ति की चाबियां होती हैं। –

+1

@ डीजे नहीं, वे नहीं करते हैं। 'AutoResetEvent' के लिए कोई भी" कुंजी नहीं है "; आप कतार, और फिर जब द्वार खुलता है तो आप गुजरते हैं। जब आप कुंजी रखते हैं तो आपको समय का क्षेत्र नहीं मिलता है। –

+0

@ डी जे: सुझाव है कि आपने पोस्ट किए गए लिंक पर लेख पढ़ लें। –

संबंधित मुद्दे