में समानांतर कार्यों से कैसे उत्पन्न करें मैं समानांतर कार्य/प्रतीक्षा के साथ .NET iterator का उपयोग करना चाहता हूं? कुछ ऐसा:.NET 4.5
IEnumerable<TDst> Foo<TSrc, TDest>(IEnumerable<TSrc> source)
{
Parallel.ForEach(
source,
s=>
{
// Ordering is NOT important
// items can be yielded as soon as they are done
yield return ExecuteOrDownloadSomething(s);
}
}
दुर्भाग्य से .NET इसे मूल रूप से संभाल नहीं सकता है। @svick द्वारा अब तक का सबसे अच्छा जवाब - AsParallel() का उपयोग करें।
बोनस: कोई भी सरल async/प्रतीक्षा कोड जो एकाधिक प्रकाशकों और एक ग्राहक को लागू करता है? ग्राहक उपज करेगा, और पब संसाधित करेंगे। (केवल मूल पुस्तकालय)
द्वारा अधिग्रहण किया गया है, लेकिन क्या आप इस उदाहरण का उदाहरण दे सकते हैं कि इसे एसिंक/प्रतीक्षा के साथ कैसे हल किया जा सकता है? धन्यवाद! – Yurik
@ युरिक क्या आप समझा सकते हैं कि आप ऐसा क्यों चाहते हैं? – svick
अधिकतर क्योंकि मुझे लगता है कि यह मुझे एक समस्या के लिए नए प्रतीक्षा वाक्यविन्यास को समझने में मदद करेगा जो "async 101" नहीं है, बल्कि वास्तविक दुनिया परिदृश्य है। – Yurik