मेरे पास एक सी ++ Win32 एप्लिकेशन है जिसमें कई थ्रेड हैं जो आईओ (HTTP कॉल इत्यादि) करने में व्यस्त हो सकते हैं जब उपयोगकर्ता एप्लिकेशन को बंद करना चाहता है। वर्तमान में, मैं अच्छी तरह से खेलता हूं और main
से लौटने से पहले सभी धागे को समाप्त करने की प्रतीक्षा करता हूं। कभी-कभी, मुझे जितना चाहें उतना समय लगता है और वास्तव में, जब उपयोगकर्ता बाहर निकल सकता है तो उपयोगकर्ता को प्रतीक्षा करने के लिए यह व्यर्थ लगता है। हालांकि, अगर मैं आगे बढ़ता हूं और main
से वापस लौटाता हूं, तो मुझे क्रैश होने की संभावना है क्योंकि विनाशकों को ऑब्जेक्ट्स का उपयोग करके धागे अभी भी बुलाए जाने लगते हैं।मैं अपने Win32 ऐप के तेज़ शटडाउन की गारंटी कैसे दूं?
तो, यह मानते हुए कि पुण्य की एक आदर्श, प्लैटोनिक दुनिया में, सबसे अच्छी बात यह है कि सभी धागे से बाहर निकलने के लिए इंतजार करना होगा और फिर साफ-सफाई बंद करना होगा, अगला सबसे अच्छा असली दुनिया समाधान क्या है? बस धागे को तेजी से बाहर निकलने के लिए एक विकल्प नहीं हो सकता है। लक्ष्य प्रक्रिया को जितनी जल्दी हो सके मृत करने के लिए है, उदाहरण के लिए, इस पर एक नया संस्करण स्थापित किया जा सकता है। एकमात्र डिस्क IO जो मैं कर रहा हूं वह एक लेनदेन डीबी में है, इसलिए मैं उस पर प्लग खींचने के बारे में बहुत चिंतित नहीं हूं।
एक मजाकिया जवाब दें, अस्थियों के नीचे संशोधित हो जाएं, ऐसा लगता है ... लोगों को हास्य का कोई मतलब नहीं है ... – tloach
हाँ, मुझे चोट लगी है। शायद उनके ढेर बह गया। –
डीआईजीजी या स्लेशडॉट वेवे हैं -----> – jim