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