2009-05-10 9 views
8

में अपना डेटा कैसे शामिल करें मुझे पता है कि जब आप BeginInvoke() या ThreadPool.QueueUserWorkItem (...) को कॉल करके समानांतर में कुछ विधि चलाते हैं। .NET Framework ExecutionContext ऑब्जेक्ट को कैप्चर कर रहा है जिसमें कोड एक्सेस सुरक्षा जानकारी और कुछ अन्य शामिल है बातें।ExecutionContext

जो मैं चाहता हूं, निष्पादन कॉन्टेक्स्ट में शामिल करना है जो मेरे समांतर विधि द्वारा आवश्यक कुछ डेटा है, लेकिन कार्य को कतारबद्ध करने के पल में भी कब्जा कर लिया जाना चाहिए।

समस्या यह है कि हमेशा इस कोड को नियंत्रित करने वाले कोड पर नियंत्रण नहीं होता है, इसलिए मुझे इस बाहरी कोड को कॉल करने से पहले इस डेटा को स्टोर करने का एक तरीका मिलना चाहिए। Thats क्यों मैंने ExecutionContext कक्षा के बारे में सोचा था।

क्या कुछ राज्य समानांतर कार्य को पास करने का कोई तरीका है जब मैं हमेशा थ्रेड के बीच काम को विभाजित करने वाले कोड के नियंत्रण में नहीं हूं।

+0

यह दुर्भाग्यपूर्ण है कि आप कतार कोड को नियंत्रित नहीं करते है - पर कब्जा कर लिया चर या कक्षा के मैदान आदर्श होंगे। –

उत्तर

0

मुझे नहीं पता कि यह ExecutionContext से कैसे संबंधित है, लेकिन दिन में वापस, हम संदर्भ-बाध्य वस्तुओं को बना सकते हैं। Context class देखें। इस तथ्य को अनदेखा करें कि यह विशेष वर्ग बुनियादी ढांचे के लिए है - लेख संदर्भों के बारे में जानने के लिए एक प्रारंभिक बिंदु है।

संबंधित मुद्दे

 संबंधित मुद्दे