Pthread_cond_wait को म्यूटेक्स की आवश्यकता क्यों है?
Pthread_cond_wait को म्यूटेक्स की आवश्यकता क्यों है?

वीडियो: Pthread_cond_wait को म्यूटेक्स की आवश्यकता क्यों है?

वीडियो: Pthread_cond_wait को म्यूटेक्स की आवश्यकता क्यों है?
वीडियो: C में म्यूटेक्स क्या है? (pthread_mutex) 2024, मई
Anonim

NS म्युटेक्स कंडीशन वेरिएबल की सुरक्षा के लिए ही प्रयोग किया जाता है। इसलिए आप जरुरत यह आपके सामने बंद है करना एक प्रतीक्षा। फिर जब कंडीशन वेरिएबल को सिग्नल या प्रसारित किया जाता है, तो प्रतीक्षा सूची के एक या अधिक थ्रेड्स को जगाया जाएगा और म्युटेक्स उस धागे के लिए फिर से जादुई रूप से बंद कर दिया जाएगा।

इसके बारे में, क्या Pthread_cond_wait म्यूटेक्स को अनलॉक करता है?

NS pthread_cond_wait () फ़ंक्शन कॉलिंग थ्रेड को कंडीशन वेरिएबल कॉन्ड पर ब्लॉक करता है, और अनलॉक जुड़े म्यूटेक्स म्यूटेक्स . कॉलिंग थ्रेड लॉक होना चाहिए म्युटेक्स कंडीशन वेरिएबल पर प्रतीक्षा करने से पहले। समारोह से लौटने पर, म्युटेक्स कॉलिंग थ्रेड के पास फिर से लॉक और स्वामित्व है।

इसके बाद, सवाल यह है कि म्यूटेक्स की आवश्यकता क्यों है? यह सुनिश्चित करता है कि एक समय में केवल एक थ्रेड कोड का एक महत्वपूर्ण भाग निष्पादित कर रहा है, जो बदले में डेटा संरचना तक पहुंच को सीमित करता है। यह सुनिश्चित करता है कि दोनों थ्रेड्स में उस मेमोरी का पूर्ण और उचित दृश्य हो, भले ही किसी भी CPU रीऑर्डरिंग की परवाह किए बिना। NS म्युटेक्स समवर्ती प्रोग्रामिंग करते समय एक परम आवश्यकता है।

ऊपर के अलावा, कंडीशन वेरिएबल को म्यूटेक्स की आवश्यकता क्यों है?

NS म्यूटेक्स है की रक्षा के लिए प्रयोग किया जाता है स्थिति चर अपने आप। इसलिए आप जरुरत यह आपके सामने बंद है करना एक प्रतीक्षा। फिर जब स्थिति चर है प्रतीक्षा सूची में एक या अधिक थ्रेड्स को सिग्नल या प्रसारित किया जाता है मर्जी जागो और म्यूटेक्स विल उस धागे के लिए फिर से जादुई रूप से बंद हो जाओ।

हमें स्थिति चर की आवश्यकता क्यों है?

स्थिति चर गुदगुदी होने तक धागे के एक सेट को सोने दें! आप एक धागे या सो रहे सभी धागों को गुदगुदी कर सकते हैं। यदि आप केवल एक थ्रेड को जगाते हैं तो ऑपरेटिंग सिस्टम तय करेगा कि कौन सा थ्रेड जगाना है।

सिफारिश की: