आरआर शेड्यूलिंग नीति में क्या होगा यदि कम प्राथमिकता थ्रेड एक म्यूटेक्स को लॉक करता है और शेड्यूलर द्वारा हटा दिया जाता है क्योंकि एक और उच्च प्राथमिकता थ्रेड प्रतीक्षा कर रहा है?यूनिक्स में थ्रेड शेड्यूलिंग
क्या यह कम प्राथमिकता वाले थ्रेड द्वारा लॉक जारी करेगा?
उदाहरण के लिए आरआर शेड्यूलिंग नीति में प्राथमिकताओं 10,20 और 30 के साथ प्रक्रिया में चल रहे 3 धागे पर विचार करें।
अब किसी दिए गए समय पर कम प्राथमिकता धागा 1 ताले म्यूटेक्स और अभी भी निष्पादन का मतलब कर रहा है जबकि उच्च प्राथमिकता धागा पॉप हो जाता है और थ्रेड 1 द्वारा आयोजित म्यूटेक्स पर भी इंतजार कर रहा है। अब थ्रेड 2 तस्वीर में आता है जिसकी भी आवश्यकता है थ्रेड द्वारा लॉक किया गया वही म्यूटेक्स 1.
जहां तक मुझे शेड्यूलिंग एल्गोरिदम के अनुसार पता है कि थ्रेड सोते हैं या म्यूटेक्स, सेमफोर इत्यादि के लिए इंतजार कर रहे हैं और अन्य लोगों को कम प्राथमिकता भी निष्पादित करने की अनुमति है। क्या ये सही है? यदि हां, तो उपर्युक्त उदाहरण में अंततः उच्च प्राथमिकता धागे कम प्राथमिकता वाले धागे को पूरा करने की प्रतीक्षा करते हैं जो कोई समझ नहीं लेता है। क्या यह उपरोक्त कहा गया है कि अगर सभी धागे पर डिज़ाइन किया गया है तो यह सिस्टम कैसे काम करता है?
या धागा प्राथमिकता इस तरह से सेट की जानी चाहिए कि उच्च प्राथमिकता किसी को कम प्राथमिकता वाले किसी के म्यूटेक्स पर निर्भर नहीं करेगी?
क्या कोई भी मुझे बता सकता है कि प्रक्रिया स्तर पर शेड्यूलिंग कैसे काम करती है? हम प्रक्रिया के लिए प्राथमिकता कैसे निर्धारित करते हैं?
समस्या "बहुत सारे धागे, पर्याप्त कोर नहीं" थी, लेकिन बहु-कोर क्रांति जल्दी से उस समस्या को उलट रही है। थ्रेड प्राथमिकताएं तब उपयोगी होती हैं जब आपको चुनने की आवश्यकता होती है कि कौन सा धागा चलाना है, न कि जब चिप डिजाइनर सोच रहे हैं कि कोई अतिरिक्त कोर अभी भी कुछ उपयोगी कर सकता है। – MSalters