I recently asked कार्यात्मक कार्यक्रमों के बारे में कोई दुष्प्रभाव नहीं है, और सीखा है कि समांतर कार्यों को तुच्छ बनाने के लिए इसका क्या अर्थ है। विशेष रूप से, कि "शुद्ध" कार्य इस छोटे से बनाते हैं क्योंकि उनके पास कोई साइड इफेक्ट नहीं होता है।सी # "शुद्ध" में लैम्ब्डा अभिव्यक्ति/प्रतिनिधि हैं, या वे हो सकते हैं?
मैं हाल ही में LINQ और लैम्ब्डा अभिव्यक्तियों को देख रहा हूं क्योंकि मैंने स्टैक ओवरव्लो पर कई बार उदाहरणों में भाग लिया है। मुझे आश्चर्य हुआ कि क्या गणना या लूप समांतर करना सी # में अब "आसान" हो सकता है।
क्या लैम्ब्डा अभिव्यक्ति "शुद्ध" तुच्छ समानांतर को खींचने के लिए पर्याप्त हैं? हो सकता है कि यह इस बात पर निर्भर करता है कि आप अभिव्यक्ति के साथ क्या कर रहे हैं, लेकिन क्या वे पर्याप्त शुद्ध हो सकते हैं? कुछ इस तरह सी # में सैद्धांतिक रूप से संभव/तुच्छ होगा ?:
- हिस्सा
- भागो प्रत्येक हिस्सा
- भागो एक समारोह है कि से मूल्य के साथ कुछ करता लूप करने के लिए एक धागा में पाश तोड़ प्रत्येक थ्रेड
उदाहरण के लिए की वर्तमान पाश की स्थिति, कहते हैं कि मैं एक खेल पाश में वस्तुओं का एक समूह था (के रूप में मैं एक खेल के विकास कर रहा हूँ और एक से अधिक थ्रेड की संभावना के बारे में सोच रहा था) और प्रत्येक के साथ कुछ करने के लिए किया था उनमें से प्रत्येक फ्रेम, वें होगा ई ऊपर खींचने के लिए तुच्छ हो? आईनेमरेबल को देखते हुए ऐसा लगता है कि यह केवल वर्तमान स्थिति का ट्रैक रखता है, इसलिए मुझे यकीन नहीं है कि मैं "सामान्य" में गणना को तोड़ने के लिए सामान्य जेनेरिक संग्रह का उपयोग कर सकता हूं।
इस प्रश्न के बारे में क्षमा करें। मैंने छद्म कोड के बजाय उपरोक्त गोलियां इस्तेमाल कीं क्योंकि मुझे अपने सिर के ऊपर से छद्म कोड लिखने के लिए पर्याप्त जानकारी भी नहीं है। मेरा .NET ज्ञान पूरी तरह से साधारण व्यावसायिक सामान रहा है और मैं प्रतिनिधियों और धागे आदि के लिए नया हूं। मैं मुख्य रूप से जानना चाहता हूं कि उपर्युक्त दृष्टिकोण पीछा करने के लिए अच्छा है या नहीं, और यदि प्रतिनिधियों/लैम्बदास को चिंतित होने की आवश्यकता नहीं है यह उनके समानांतरता के लिए आता है।
AsParallel देखें? इसके अलावा क्या है? सी # 4? या यह एक अलग डाउनलोड है? – Bob
हाँ, क्षमा करें। PLINQ .NET 4 का हिस्सा है, 3.5 –
+1 के लिए एक संस्करण (बीटा?) भी है कार्यात्मक प्रोग्रामिंग प्रोग्रामर पर अधिक जिम्मेदारियां प्रदान करता है। समांतर में निष्पादित किए जा सकने वाले कोड ब्लॉक की पहचान करना उनमें से एक है। जिज्ञासा से – Perpetualcoder