एक बहु-थ्रेडेड एप्लिकेशन को साफ तरीके से पूरा करने का सबसे अच्छा तरीका क्या है?
मैं अलग-अलग सॉकेट में मुख्य धागे से कई सॉकेट कनेक्शन शुरू कर रहा हूं और मुख्य थ्रेड में अपने व्यावसायिक दिन के अंत तक प्रतीक्षा कर रहा हूं और इसे समाप्त करने के लिए वर्तमान में System.Environment.Exit(0)
का उपयोग कर रहा हूं।मल्टी-थ्रेडिंग - प्रोग्राम अंत में क्लीनअप रणनीति
इससे बच्चों में से एक में एक अनचाहे अपवाद होता है। क्या मुझे धागे को सूची से रोकना चाहिए? मैं अभी तक बच्चों में किसी भी वास्तविक रोक को लागू करने के लिए अनिच्छुक हूं, इस प्रकार मैं सबसे अच्छा अभ्यास के बारे में सोच रहा हूं। सॉकेट सभी लॉगिंग और बंद करने के लिए उचित विनाशकों के साथ अच्छी तरह से लपेटे जाते हैं, लेकिन यह अभी भी त्रुटियों की ओर जाता है।
http://www.yoda.arachsys.com/csharp/threads/
विशेष रूप से "शान से कार्यकर्ता धागे शटडाउन हो रहा है":
http://www.yoda.arachsys.com/csharp/threads/shutdown.shtml
बनाना आपके सभी कार्यकर्ता धागे पृष्ठभूमि धागे प्रक्रिया रास्ते के रूप में मौत के किसी भी रोता से बचने के सकता है, लेकिन यह शायद ही सुंदर है। एक बार सभी अग्रभूमि धागे समाप्त होने के बाद, पृष्ठभूमि धागे को समाप्त कर दिया जाता है, भले ही वे कुछ करने के बीच में हों। – OldFart
मैंने इसे कार्यान्वित किया है और मैं सोमवार को इसका परीक्षण करूंगा। – weismat
परीक्षण और एक आकर्षक की तरह काम किया। – weismat