संभावित डुप्लिकेट:
Must every BeginInvoke be followed by an EndInvoke?
Is EndInvoke() optional, sort-of optional, or definitely not optional?असिंक्रोनस इनवोकिंग - एंडइवोक की आवश्यकता है?
मैं एक बहु आवेदन मिल गया है, और माध्यमिक धागे में से एक मुख्य थ्रेड पर निष्पादित करने के लिए एक बार हर कुछ कोड प्राप्त करने की जरूरत है कुछ देर। कोई वापसी मूल्य नहीं है, और दूसरा धागा परवाह नहीं करता है अगर यह कोई अपवाद उठाता है या दौड़ने में विफल रहता है।
अभी तक, मैं इसे Form.Invoke
के माध्यम से कोड चलाने के लिए प्राप्त कर रहा हूं, लेकिन कभी-कभी इसे सामान्य (कुछ सेकंड) से अधिक लंबा लगता है और जब तक यह पूरा नहीं हो जाता तब तक थ्रेड को अवरुद्ध कर देता है। मुझे दूसरे थ्रेड की आवश्यकता है ताकि कई सेकंड तक रुकने के बिना निष्पादन जारी रखा जा सके।
BeginInvoke
लगता है जैसे यह अच्छी तरह से काम करेगा, लेकिन मेरे पास वास्तव में EndInvoke
पर कॉल करने के लिए कहीं भी नहीं है, क्योंकि मैं इसके लिए इंतजार नहीं करना चाहता हूं या वापसी मूल्य प्राप्त नहीं करना चाहता हूं। और इस बात पर विचार करते हुए कि कोड को बुलाया जा रहा है, मूल कॉल का एक गुच्छा शामिल है, मुझे यकीन नहीं है कि EndInvoke
नहीं है।
क्या मुझे EndInvoke
पर कॉल करने की ज़रूरत है, या क्या मुख्य रूप से थ्रेड को मुख्य रूप से चलाने के लिए कोड प्राप्त करने का कोई अन्य तरीका है जिसे मुझे इसके बजाय उपयोग करना चाहिए?
धन्यवाद =)
बहुत बढ़िया है, इसलिए मैं कुछ भी उड़ाए बिना अपने 'Invoke' को 'BeginInvoke' में बदल सकता हूं। –