L
LOSTISLAND
Guest
हाय सब, मैंने सोचा था कि एक Mutex और सिकंदरा के बीच ही मतभेद गिनती (सिकंदरा क्षमता) और प्राथमिकता व्युत्क्रमण (Mutex क्षमता) कर रहे हैं. आज, मैं कुछ अजीब है जो शायद प्राथमिकता व्युत्क्रमण क्षमता या कुछ और करने के लिए संबंधित है का सामना करना पड़ा है. हो रही है और या विभिन्न कार्यों के बीच Mutex semaphores जारी स्पष्ट है, लेकिन जब मैं उन्हें सिर्फ एक कार्य में उपयोग करते हैं, उनके व्यवहार अलग है. सिकंदरा का उपयोग कर कार्य बंद कर दिया है, लेकिन Mutex का उपयोग कर कार्य बंद नहीं है. कल्पना कीजिए कि वहाँ सिर्फ एक बुलाया APP_TestTask [कोड] __task शून्य (शून्य) (के लिए {APP_TestTask कार्य है, {(20) os_dly_wait, os_sem_wait (Sem_Test, 0xFFFF); os_sem_send (Sem_Test); os_sem_wait (Sem_Test, 0xFFFF); os_sem_wait ( Sem_Test, 0xFFFF); Test_Function ();}} [/ कोड] [कोड] _task शून्य (शून्य) APP_TestTask {के लिए (; {os_dly_wait (20), (os_mut_wait, os_mut_wait (Mut_Test, 0xFFFF); os_mut_release (Mut_Test) Mut_Test, 0xFFFF); (Mut_Test, 0xFFFF) os_mut_wait (Test_Function);}} [कोड /] यह प्राकृतिक कुछ या एक बग है? उन्नत में धन्यवाद