मेरे पास एक धागा है जो बाहर निकलता है और कनेक्शन बनाने का प्रयास करता है। धागे में, मैं एक थर्ड पार्टी लाइब्रेरी को कॉल करता हूं। कभी-कभी, यह कॉल लटकती है, और कभी वापस नहीं आती है। यूआई थ्रेड पर, मैं थ्रेड को रद्द करके कनेक्शन प्रयास को रद्द करने में सक्षम होना चाहता हूं, जो तीसरे पक्ष की लाइब्रेरी में लटका कॉल को रोकना चाहिए।आप एक धागे को कैसे संभालें जिसमें लटका हुआ कॉल है?
मैंने थ्रेड.एबॉर्ट कहा है, लेकिन अब थ्रेड पढ़ा है। एबॉर्ट केवल प्रबंधित कोड पर नियंत्रण लौटने पर ही काम करता है। मैंने देखा है कि यह सच है, क्योंकि थ्रेड कभी नहीं निकलता है, और मैं थ्रेड पर बैठा हूं। अब दस मिनट के लिए जुड़ें। इस लटका धागे के साथ मुझे क्या करना चाहिए? क्या मुझे सिर्फ संदर्भ को खाली करना चाहिए और आगे बढ़ना चाहिए? मैं जितना संभव हो उतना साफ होना चाहता हूं -
"कक्षा से साइट को ले जाएं और नूक करें - यह सुनिश्चित करने का एकमात्र तरीका है।" दरअसल, आप सही हैं; यह गलत व्यवहार कोड को समाप्त करने का एकमात्र गारंटीकृत सुरक्षित तरीका है। Thread.Abort वास्तव में misbehaving धागे को रोकने के लिए गारंटी नहीं है; वास्तव में बुरी तरह से व्यवहार किया धागा गर्भपात को हाइजैक कर सकता है। यहां तक कि एक एपडोमेन लेना भी जरूरी नहीं है जो आप चाहते हैं। यदि आप बिल्कुल, सकारात्मक रूप से व्यवहार किए गए कोड को मारना चाहते हैं तो आपको इसे मारने योग्य प्रक्रिया में अलग करना होगा। –
धन्यवाद रिपली ... मेरा मतलब है ... एरिक ;-p (मैंने हडसन का जवाब दिया होगा, लेकिन मुझे अपने आप पर मॉडरेटर टूल्स का उपयोग करना होगा ...) –