प्राथमिकता केवल तब होती है जब उपलब्ध सीपीयू कोर की तुलना में अधिक चलने योग्य धागे होते हैं। जब ऐसा होता है, प्राथमिकता नियंत्रण जो धागे को चलाने के लिए मिलता है। अधिकांश प्रणालियों में, सीपीयू पर किसी भी विवाद के लिए पर्याप्त गणना नहीं हो रही है: थ्रेड्स सभी अवरुद्ध हैं , कुछ होने की प्रतीक्षा कर रहे हैं। हो सकता है कि आपको कुछ टाइप करने के लिए, माउस को स्थानांतरित करने, स्क्रीन को छूने, या डिस्क से आने के लिए डेटा, नेटवर्क, आपके द्वारा प्लग किए गए किसी अन्य डिवाइस, या किसी अन्य थ्रेड के लिए किसी महत्वपूर्ण डेटा पर काम करने के लिए इंतजार करना पड़े। संरचना। यह डिस्क से पढ़े जाने वाले प्रोग्राम का कुछ हिस्सा हो सकता है या कुछ मेमोरी जिसे स्वैप किया गया था, वह स्पष्ट रूप से फाइल पढ़ने के बजाय वापस पढ़ने के लिए।
विंडोज में, अनुसूचक प्रत्येक प्राथमिकता के स्तर पर चलने योग्य धागे की एक कतार रखता है। जब यह एक समयबद्धन निर्णय लेता है - या तो यह कि एक थ्रेड ने अपने क्वांटम को समाप्त कर दिया है (कुछ और चलाने से पहले समय की अनुमति दी है), जिसका अर्थ है कि किसी अन्य थ्रेड को एक मोड़ मिलना चाहिए, या थ्रेड अवरुद्ध हो गया है और अब चलने योग्य नहीं है, या एक उच्च प्राथमिकता है थ्रेड अनब्लॉक हो गया है - किसी भी रनिंग थ्रेड्स के साथ शीर्ष प्राथमिकता स्तर पर कतार में अगला धागा शेड्यूल किया जाएगा। यदि जो थ्रेड चल रहा था, उसने अपने क्वांटम का उपयोग किया है, इसे कतार के अंत में रखा गया है। यदि यह अपने प्राथमिकता स्तर पर एकमात्र ऐसा धागा है जो चलाने योग्य है, और कोई अन्य उच्च-प्राथमिकता चलाने योग्य नहीं है, लेकिन नहीं चल रहा है, तो थ्रेड्स, इसे एक और मोड़ मिलेगा।
मल्टीकोर / मल्टीप्रोसेसर सिस्टम में, ऐसे प्रतिबंध हो सकते हैं जिन पर एक धागा चल सकता है। साथ ही, सिस्टम अपने आदर्श कोर पर और उनके NUMA नोड के भीतर थ्रेड रखने की कोशिश करता है ताकि थ्रेड का डेटा अभी भी उस कोर के कैश में हो और इसे बनाए गए डेटा तक तेजी से पहुंच हो। थ्रेड्स अभी भी गैर-आदर्श कोर पर चलाए जाएंगे यदि आगे चलाने के लिए कोई विकल्प नहीं है।
सिस्टम विभिन्न गतिशील प्राथमिकता बूस्ट और डायनामिक क्वांटम आकारों का उपयोग करता है, ताकि अग्रभूमि अनुप्रयोग को पृष्ठभूमि प्रक्रियाओं की तुलना में अधिक समय (यदि इसे इसकी आवश्यकता हो), और ताकि आई / ओ संचालन पूरा होने पर प्रक्रियाएं तुरंत प्रतिक्रिया कर सकें (माउस, कीबोर्ड और सहित) टचस्क्रीन इनपुट)। इसके अलावा, प्राथमिकता बढ़ाने का उपयोग प्राथमिकता वाले व्युत्क्रमों के चारों ओर प्राप्त करने के लिए किया जाता है, जहां एक उच्च प्राथमिकता वाला धागा एक संसाधन के लिए इंतजार कर रहा है जो वर्तमान में कम प्राथमिकता वाला धागा धारण कर रहा है। यदि मध्यम-प्राथमिकता वाला थ्रेड भी चल रहा है, तो यह प्रोसेसर-टाइम के निम्न-प्राथमिकता वाले थ्रेड को उच्च-प्राथमिकता वाले थ्रेड को पकड़ेगा। इसलिए निम्न-प्राथमिकता वाले धागे को उच्च प्राथमिकता के लिए अस्थायी रूप से बढ़ाया जाता है, इसलिए इसे समय मिलता है और उम्मीद है कि उच्च प्राथमिकता वाले धागे की जरूरत है।
Windows Vista से पहले, थ्रेड प्राथमिकता पर कोई प्रभाव नहीं पड़ा कि मैंने कितनी जल्दी I / O ऑपरेशन पूरा किया। Windows Vista के बाद से, I / Os की प्राथमिकता भी हो सकती है, जो डिफ़ॉल्ट रूप से थ्रेड प्राथमिकता से आता है।
सारांश: जब तक आपका सीपीयू भारी रूप से लोड नहीं हो जाता है, तब तक आप मोटे तौर पर थ्रेड प्राथमिकताओं को बदलने का कोई प्रभाव नहीं देखेंगे, और फिर भी प्रभाव आमतौर पर न्यूनतम होगा। यदि प्रक्रिया को I / O की प्रतीक्षा करनी है या यह CPU समय के लिए अन्य प्रक्रियाओं के साथ संघर्ष नहीं कर रहा है, तो यह पहले से ही सबसे तेज़ चल रहा है और प्राथमिकता बदलकर इसे और तेज़ नहीं किया जा सकता है।