नींद() अपेक्षा से अधिक सोने की जांच
विंडोज एपीआई का स्लीप() फ़ंक्शन थ्रेड निष्पादन को निलंबित करने के लिए एक बहुमुखी उपकरण है। हालाँकि, कुछ उपयोगकर्ताओं को अप्रत्याशित व्यवहार का सामना करना पड़ता है जहाँ फ़ंक्शन अपेक्षा से अधिक समय तक सोता है। यह आलेख इस मुद्दे पर गहराई से विचार करेगा, इसकी सामान्य घटना और संभावित कारणों की जांच करेगा। सोने का कुल समय 100ms के बजाय 1500ms देखा गया है। यह असमानता बताती है कि वास्तविक नींद की अवधि प्रति पुनरावृत्ति लगभग 15ms है। ध्यान दें कि यह व्यवहार विभिन्न प्रणालियों में अलग-अलग होता है, कुछ उपयोगकर्ता लगातार 1 एमएस नींद की अवधि की रिपोर्ट करते हैं। . विंडोज़ थ्रेड शेड्यूलिंग एक "समय क्वांटम" का उपयोग करती है, एक समय अंतराल जिसके लिए थ्रेड निष्पादन बाध्य है। गैर-शून्य नींद की अवधि के लिए, वास्तविक विलंब को निकटतम पूर्ण मात्रा तक पूर्णांकित किया जाता है। 15.6 मि.से. इसका मतलब यह है कि स्लीप(1) वास्तव में थ्रेड को कम से कम 15.6ms के लिए निलंबित कर देगा, जिसके परिणामस्वरूप प्रति पुनरावृत्ति 15ms स्लीप का व्यवहार देखा जाएगा।
वैकल्पिक स्पष्टीकरण
कुछ मामलों में, देखी गई 1ms नींद की अवधि किसी अन्य प्रोग्राम या प्रक्रिया की उपस्थिति के कारण हो सकती है जिसने सिस्टम-वाइड टाइमर रिज़ॉल्यूशन को 1ms तक संशोधित किया है। इस ओवरराइड से नींद की अवधि अधिक सटीक हो सकती है।
निष्कर्ष
इस परिदृश्य में स्लीप() फ़ंक्शन का व्यवहार आमतौर पर अपेक्षित होता है। विंडोज़ के थ्रेड शेड्यूलर का समय क्वांटम तंत्र नींद की अवधि को पूरे अंतराल तक बढ़ाता है, जिसके परिणामस्वरूप छोटी अवधि के लिए नींद का समय लंबा हो जाता है। हालाँकि, संशोधित टाइमर रिज़ॉल्यूशन सेटिंग्स जैसे बाहरी कारक भी नींद के व्यवहार को प्रभावित कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3