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

गो खेल के मैदान और स्थानीय मशीनों पर गोरूटाइन व्यवहारिक अंतर क्यों प्रदर्शित करते हैं?

2024-11-03 को प्रकाशित
ब्राउज़ करें:732

Why Do Goroutines on Go Playground and Local Machines Exhibit Behavioral Differences?

गो प्लेग्राउंड और लोकल मशीन के बीच विसंगतियां

गो प्लेग्राउंड पर एक कोड चलाते समय, डेवलपर्स को अपनी स्थानीय मशीनों पर समान कोड चलाने की तुलना में विसंगतियों का सामना करना पड़ सकता है। यह लेख व्यवहार संबंधी अंतरों की पड़ताल करता है, खासकर जब गोरआउट्स और सिंक्रोनाइज़ेशन तंत्र से निपटते हैं।

केस स्टडी: गो प्लेग्राउंड बनाम स्थानीय मशीन पर कोड व्यवहार

निम्नलिखित गो कोड पर विचार करें:

package main

import (
    "fmt"
)

func other(done chan bool) {
    done 

गो खेल के मैदान पर, यह कोड एक त्रुटि उत्पन्न करता है: "प्रक्रिया में बहुत लंबा समय लगा।" इससे पता चलता है कि अन्य फ़ंक्शन के भीतर बनाया गया गोरोइन अनिश्चित काल तक चलता है। &&&]हैलो, खेल का मैदान समाप्त।

इसका तात्पर्य यह है कि मुख्य गोरोइन खत्म होने पर अन्य के भीतर बनाया गया गोरोइन समाप्त हो जाता है।

Hello, playground
Finished.
गो खेल के मैदान और स्थानीय मशीन के बीच अलग-अलग व्यवहार इसका श्रेय उपलब्ध प्रोसेसरों की संख्या को दिया जा सकता है। गो खेल के मैदान पर, GOMAXPROCS 1 पर डिफ़ॉल्ट होता है, जिसका अर्थ है कि एक समय में केवल एक ही गोरोइन चल सकता है। इसलिए, उपरोक्त उदाहरण में, अन्य के भीतर बनाया गया अंतहीन गोरोइन मुख्य गोरोइन को जारी रखने से रोकता है। समवर्ती रूप से चलाएँ. इस प्रकार, अन्य के भीतर बनाया गया अंतहीन गोरोइन मुख्य गोरोइन को बाहर निकलने से नहीं रोकता है।

निष्कर्ष

गो में गोरोइन का व्यवहार उपलब्ध प्रोसेसर (GOMAXPROCS) की संख्या पर निर्भर करता है। जबकि गो खेल का मैदान 1 के डिफ़ॉल्ट मान का उपयोग करता है जो अनिश्चित काल तक चलने वाले गोरोइन की धारणा को जन्म दे सकता है, कई कोर के साथ स्थानीय मशीन पर एक ही कोड चलाने से एक अलग व्यवहार मिलता है जहां मुख्य गोरोइन खत्म होने पर गोरोइन समाप्त हो सकता है। यह समझ डेवलपर्स को गलतफहमी से बचने में मदद करती है और यह सुनिश्चित करती है कि उनका कोड विभिन्न वातावरणों में अपेक्षित व्यवहार करता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुनर्मुद्रित है: 1729666034 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3