समानांतर ForEach C# क्या है?
समानांतर ForEach C# क्या है?

वीडियो: समानांतर ForEach C# क्या है?

वीडियो: समानांतर ForEach C# क्या है?
वीडियो: Parallel.ForEachAsync - एक सीमा के साथ समवर्ती कार्य - .NET 6 से नया - C# में समवर्ती 2024, मई
Anonim

प्रत्येक के लिए सी # में लूप एक ही धागे पर चलता है और प्रसंस्करण क्रमिक रूप से एक-एक करके होता है। प्रत्येक के लिए लूप C# की एक मूलभूत विशेषता है और यह C# 1.0 से उपलब्ध है। इसका निष्पादन की तुलना में धीमा है समानांतर.

इसे ध्यान में रखते हुए, समानांतर foreach C# क्या है?

समानांतर . प्रत्येक के लिए विधि में सी# NS प्रत्येक के लिए समानांतर विधि में सी# प्रदान करता है एक समानांतर मानक का संस्करण, अनुक्रमिक प्रत्येक के लिए कुंडली। मानक में प्रत्येक के लिए लूप, प्रत्येक पुनरावृत्ति संग्रह से एक आइटम को संसाधित करता है और सभी वस्तुओं को केवल एक-एक करके संसाधित करेगा। के लिए और समानांतर.

यह भी जानिए, आप समानांतर foreach के पूरा होने की प्रतीक्षा कैसे करते हैं? आपको कुछ खास करने की जरूरत नहीं है, समानांतर . प्रत्येक के लिए () मर्जी रुको जब तक इसके सभी शाखित कार्य नहीं हैं पूर्ण . कॉलिंग थ्रेड से आप इसे एक सिंक्रोनस स्टेटमेंट के रूप में देख सकते हैं और उदाहरण के लिए इसे एक कोशिश/पकड़ के अंदर लपेट सकते हैं। आपको इसकी आवश्यकता नहीं है समानांतर.

इसे ध्यान में रखते हुए, क्या foreach समानांतर में चलता है?

ए समानांतर . प्रत्येक के लिए लूप a. की तरह काम करता है समानांतर . पाश के लिए। लूप स्रोत संग्रह को विभाजित करता है और शेड्यूल करता है पर काम सिस्टम पर्यावरण के आधार पर एकाधिक धागे।

समानांतर foreach धागा सुरक्षित है?

धागा सुरक्षा हालांकि यह लिखना बहुत आसान है a समानांतर foreach लूप, आप सामान्य से कोड में बस पेस्ट नहीं कर सकते हैं प्रत्येक के लिए लूप और उम्मीद है कि यह बस काम करेगा। इसका मतलब यह है कि कोड उसी तरह काम करता है, भले ही कई सूत्र साथ ही चल रहे हैं।

सिफारिश की: