प्रश्न:
आप एक उपकरण बना रहे हैं जो एकाधिक HTTP कॉल को संभालता है समवर्ती गोरोइन्स में। अनिश्चितकालीन निष्पादन परिदृश्य को रोकने के लिए, आप एक विशिष्ट समय व्यतीत होने के बाद गोरोइन को रद्द करने का एक तरीका खोजते हैं। एक निर्दिष्ट अवधि के लिए और अन्य गोरोइन्स को रद्द करने के लिए एक प्रसारण संदेश भेजना तर्कसंगत लगता है, इसमें गोरोइन्स के निष्पादन के साथ एक समस्या प्रतीत होती है परिदृश्य।
इस चुनौती का समाधान करने के लिए, गो में संदर्भ पैकेज का लाभ उठाने पर विचार करें। यह गोरोइन्स के लिए टाइमआउट और संदर्भ रद्दीकरण को संभालने का एक प्रभावी तरीका प्रदान करता है। ]पैकेज मुख्य आयात ( "प्रसंग" "एफएमटी" "समय" ) func परीक्षण(ctx context.Context) { t := समय.अभी() चुनना { केस
यह कोड 50-मिलीसेकंड टाइमआउट के साथ एक संदर्भ बनाता है। फिर संदर्भ को पार करते हुए परीक्षण फ़ंक्शन को निष्पादित करने के लिए एक गोरोइन लॉन्च किया जाता है। परीक्षण फ़ंक्शन के भीतर, एक चयन कथन या तो टाइमआउट होने या संदर्भ रद्द होने की प्रतीक्षा करता है। 30 मिलीसेकंड के बाद, संदर्भ रद्द कर दिया जाता है, जिससे गोरोइन समाप्त हो जाता है और "रद्द" प्रिंट हो जाता है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3