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