"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो प्रोग्राम के निष्पादन पर गो 1.5 से पहले और बाद में `रनटाइम.गॉश्ड ()` का प्रभाव

गो प्रोग्राम के निष्पादन पर गो 1.5 से पहले और बाद में `रनटाइम.गॉश्ड ()` का प्रभाव

2025-04-14 को पोस्ट किया गया
ब्राउज़ करें:110

] के लिए i: = 0; मैं How Does `runtime.Gosched()` Impact Go Program Execution Before and After Go 1.5?
runtime.gosched () के साथ आउटपुट दुनिया नमस्ते दुनिया नमस्ते दुनिया नमस्ते दुनिया हैलो

नमस्ते नमस्ते नमस्ते हैलो

स्पष्टीकरण

। जबकि गो प्रोग्राम डिफ़ॉल्ट रूप से एक एकल ओएस थ्रेड पर चलते हैं, runtime.gosched () शेड्यूलर को गोरोटीन के बीच निष्पादन को स्विच करने की अनुमति देता है। इस प्रकार, ऊपर दिए गए कोड उदाहरण में, "वर्ल्ड" आउटपुट केवल तब दिखाई देता है जब रनटाइम.गॉश्ड () कहा जाता था, क्योंकि इसने शेड्यूलर को "वर्ल्ड" प्रिंट स्टेटमेंट चलाने वाले गोरूटीन पर स्विच करने की अनुमति दी थी।

Goroutines को चलाने के लिए कई OS थ्रेड बना सकते हैं। हालांकि, प्रीमेप्टिव मल्टीटास्किंग सिस्टम के विपरीत, गोरूटीन्स को अभी भी स्पष्ट रूप से अन्य गोरूटीन्स को निष्पादित करने की अनुमति देने के लिए नियंत्रण प्राप्त करना चाहिए। ऐसा इसलिए है क्योंकि GO सहकारी मल्टीटास्किंग का उपयोग करता है, जहां गोरूटीन स्वेच्छा से शेड्यूलर पर नियंत्रण आत्मसमर्पण कर देता है। यह अप्रत्याशित आउटपुट पैटर्न को जन्म दे सकता है, जैसा कि ऊपर दिए गए उदाहरण में देखा गया था जब GomaxProcs 2 पर सेट किया गया था।
            
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3