में बाहरी चर इस कोड को लेते हैं। लक्ष्य एक पेज है कि पहले से ही लाने के लिए निर्धारित है प्राप्त करने में कठिनाई से बचने के लिए स्पष्ट रूप से है। भराव वस्तु एक घटना एक लैम्ब्डा अभिव्यक्ति के माध्यम से सदस्यता लिया है कि उजागर करता है। मेरा प्रश्न है: हम कह सकते हैं कि पैरामीटर npage सही ढंग से multithread परिदृश्य में नियंत्रित किया जाता है? बेहतर: प्रत्येक घटना सदस्यता का अपना npage पैरामीटर प्राप्त करते हैं, या पिछले npage देखा सभी घटनाओं के लिए प्रचार है?लैम्ब्डा अभिव्यक्ति, multithread
6
A
उत्तर
7
चर कब्जा घोषणा गुंजाइश npage
की प्रति होता है। पैरामीटर npage
विधि स्तर पर घोषित किया जाता है, और कहा कि विधि के भीतर परिवर्तन नहीं करता है - तो वास्तव में, npage
के उपयोग पूरी तरह धागा सुरक्षित है।
समस्या आप घटित होता परहेज कर रहे हैं यदि आप एक चर बदलते रहे थे इसकी घोषित दायरे के भीतर, आम तौर पर एक पाश - यानी
for(int npage = 0; npage < 100 ; npage++)
Foo((s,e) => DoSomething(npage)); // not safe; npage shared between all
तथापि, एक विधि में तोड़ कर आप इस
बचने के लिए, यानीfor(int i = 0; i < 100; i++)
Hit(i);
...
void Hit(int npage) {
Foo((s,e) => DoSomething(npage)); // safe; npage is per-call
}
2
प्रत्येक Hit
विधि का आह्वान npage संदर्भ के लिए अलग-अलग मान होगा।
दूसरे शब्दों में, इस विधि का आह्वान करने वाले प्रत्येक धागे का अपना npage होगा।
, क्योंकि इस प्रक्रिया लागू हर थ्रेड के लिए है यही कारण है, अपने परिचालन और ईवेंट हैंडलर सदस्यता अलग-अलग दायरों में जगह ले जाएगा, ताकि, npage संदर्भ गुंजाइश के मूल्य को इंगित करेंगे।
संबंधित मुद्दे
- 1. लैम्ब्डा अभिव्यक्ति
- 2. लैम्ब्डा अभिव्यक्ति
- 3. लैम्ब्डा अभिव्यक्ति
- 4. लैम्ब्डा अभिव्यक्ति
- 5. लैम्ब्डा अभिव्यक्ति
- 6. लैम्ब्डा अभिव्यक्ति
- 7. लैम्ब्डा अभिव्यक्ति
- 8. अभिव्यक्ति/लैम्ब्डा
- 9. लैम्ब्डा समारोह से लैम्ब्डा अभिव्यक्ति
- 10. अभिव्यक्ति लैम्ब्डा बनाम स्टेटमेंट लैम्ब्डा
- 11. multithread
- 12. लैम्ब्डा अभिव्यक्ति में KeyValuePair
- 13. लैम्ब्डा अभिव्यक्ति वाक्यविन्यास
- 14. लैम्ब्डा अभिव्यक्ति: आधार प्रकार
- 15. सी # लैम्ब्डा अभिव्यक्ति स्पीड
- 16. लैम्ब्डा अभिव्यक्ति वृक्ष रूपांतरण
- 17. लैम्ब्डा अभिव्यक्ति ग्रुप सी #
- 18. मैं कैसे लैम्ब्डा अभिव्यक्ति
- 19. लैम्ब्डा अभिव्यक्ति संकलन
- 20. वीबी.नेट लैम्ब्डा अभिव्यक्ति
- 21. "स्व" अजगर लैम्ब्डा अभिव्यक्ति
- 22. स्ट्रिंग एक लैम्ब्डा अभिव्यक्ति
- 23. कैसे multithread
- 24. LINQ नामकरण मानक - लैम्ब्डा अभिव्यक्ति
- 25. पाइथन प्रकार बिना लैम्ब्डा अभिव्यक्ति
- 26. लैम्ब्डा अभिव्यक्ति बहु-थ्रेडेड हैं?
- 27. मेथडइवोक प्रतिनिधि या लैम्ब्डा अभिव्यक्ति
- 28. लैम्ब्डा अभिव्यक्ति बनाम अनाम विधियां
- 29. रिकर्सिव लैम्ब्डा-अभिव्यक्ति संभव है?
- 30. वीबीएनईटी लैम्ब्डा अभिव्यक्ति के उदाहरण