मैं समझता हूं कि goroutines एकाधिक ओएस धागे पर मल्टीप्लेक्ड हैं, इसलिए अगर किसी को ब्लॉक करना चाहिए, जैसे I/O की प्रतीक्षा करते समय, अन्य चलते रहेंगे। लेकिन क्या समय से पहले यह जानने का कोई तरीका है कि अगर मैं एन गोरोटाइन बनाना चाहता हूं तो कितने धागे पैदा होंगे?क्या आप पता लगा सकते हैं कि दिए गए संख्या में गोरौटाइन कितने धागे बनाएंगे?
उदाहरण के लिए, अगर हम फोन नीचे समारोह हम जानते हैं कि कितने (या की अधिकतम संख्या) प्रणाली धागे n goroutines के लिए बनाया जा जाएगा:
type Vector []float64
// Apply the operation to n elements of v starting at i.
func (v Vector) DoSome(i, n int, u Vector, c chan int) {
for ; i < n; i++ {
v[i] += u.Op(v[i])
}
c <- 1; // signal that this piece is done
}
+1 केवल दो प्रासंगिक (गैर-गपशप, गैर-गी-व्हिज) में से एक के लिए +1 अब तक –
यह लूप के लिए है। यह समरूपता भी व्यक्त नहीं करता है, बहुत कम समांतरता। – Dustin