Threading in C# by Joseph Albahari वार्ता संक्षिप्त इसके बारे में, उन्होंने कहा:प्रतिनिधियों पर BeginInvoke और EndInvoke दोनों पूर्ण बाड़ उत्पन्न करते हैं?
परोक्ष निम्नलिखित उत्पन्न पूर्ण बाड़:
- सी # के ताला बयान (Monitor.Enter/Monitor.Exit)
- Interlocked वर्ग पर सभी तरीकों (हम 'इन जल्द ही
- अतुल्यकालिक कॉलबैक कि थ्रेड पूल का उपयोग को कवर किया जाएगा) - इन अतुल्यकालिक प्रतिनिधियों, एपीएम कॉलबैक शामिल हैं, और टास्क निरंतरता
- स्थापना और एक संकेत पर इंतजार कर
- कुछ भी है कि इस तरह के आरंभ या किसी कार्य पर इंतजार कर के रूप में संकेत पर निर्भर करता है, निर्माण
के रूप में "अतुल्यकालिक प्रतिनिधियों" सूची में है, मुझे लगता है था कि कम से कम EndInvoke पूरी तरह से है बाड़ लगी। लेकिन BeginInvoke के बारे में क्या? दुर्भाग्य से मैं BeginInvoke कोड में F11 (= डीबग चरण) नहीं कर सका - क्या स्रोत कहीं उपलब्ध है? हालांकि एक निश्चित उत्तर का एक लिंक भी बेहतर होगा।
(BeginInvoke क्रम द्वारा प्रदान की गई Microsoft से उपलब्ध है इसके योगिनी; वास्तव में ऐसा कोई स्रोत नहीं है) –
आपका मतलब है कि उन्होंने उन दो विधियों को सीधे मशीन कोड में विकसित किया है? ;) लेकिन ईमानदार, यह जानना अच्छा होगा कि थ्रेड सुरक्षा के मामले में कोई गारंटी है या नहीं, यह स्वतंत्र है कि एमएस के स्रोतों को देखने का कोई तरीका है या नहीं। मुझे 'नवीनतम मानकों' के विभाजन II और IV में 'बाधा', 'बाड़', 'अस्थिर' शब्दों में से कोई भी नहीं मिला या 'वर्किंग ड्राफ्ट' जिसे मैंने डाउनलाउड किया [http://msdn.microsoft.com/ en-us/netframework/aa569283.aspx] –
आवश्यक रूप से मशीन कोड, सी या सी ++ आवश्यक नहीं है। यदि आप वास्तव में इसे देखना चाहते हैं तो आप यह देखने के लिए मोनो स्रोत कोड डाउनलोड कर सकते हैं कि उन्होंने यह कैसे किया। – codenheim