]
के लिए i: = 0; मैं runtime.gosched () के साथ आउटपुट
दुनिया
नमस्ते
दुनिया
नमस्ते
दुनिया
नमस्ते
दुनिया
हैलो
। जबकि गो प्रोग्राम डिफ़ॉल्ट रूप से एक एकल ओएस थ्रेड पर चलते हैं, runtime.gosched () शेड्यूलर को गोरोटीन के बीच निष्पादन को स्विच करने की अनुमति देता है। इस प्रकार, ऊपर दिए गए कोड उदाहरण में, "वर्ल्ड" आउटपुट केवल तब दिखाई देता है जब रनटाइम.गॉश्ड () कहा जाता था, क्योंकि इसने शेड्यूलर को "वर्ल्ड" प्रिंट स्टेटमेंट चलाने वाले गोरूटीन पर स्विच करने की अनुमति दी थी।
Goroutines को चलाने के लिए कई OS थ्रेड बना सकते हैं। हालांकि, प्रीमेप्टिव मल्टीटास्किंग सिस्टम के विपरीत, गोरूटीन्स को अभी भी स्पष्ट रूप से अन्य गोरूटीन्स को निष्पादित करने की अनुमति देने के लिए नियंत्रण प्राप्त करना चाहिए। ऐसा इसलिए है क्योंकि GO सहकारी मल्टीटास्किंग का उपयोग करता है, जहां गोरूटीन स्वेच्छा से शेड्यूलर पर नियंत्रण आत्मसमर्पण कर देता है। यह अप्रत्याशित आउटपुट पैटर्न को जन्म दे सकता है, जैसा कि ऊपर दिए गए उदाहरण में देखा गया था जब GomaxProcs 2 पर सेट किया गया था।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3