यह एक बेवकूफी भरा सवाल हो सकता है, लेकिन मैं पायथन के बारे में अपनी कुछ धारणाओं का परीक्षण कर रहा हूं और मैं उलझन में हूं कि थ्रेड में बुलाए जाने पर निम्नलिखित कोड स्निपेट बाहर क्यों नहीं निकलेगा, लेकिन कॉल करने पर बाहर निकल जाएगा मुख्य धागा।
<प्री> <कोड> आयात sys, थ्रेडिंग से समय आयात करें ) t.start() t.join() प्रिंट "प्री मेन एग्जिट, पोस्ट थ्रेड एग्जिट" sys.exit() प्रिंट "पोस्ट मेन एग्जिट"sys.exit के लिए डॉक्स ( ) बताएं कि कॉल को पायथन से बाहर निकलना चाहिए। मैं इस प्रोग्राम के आउटपुट से देख सकता हूं कि "पोस्ट थ्रेड एग्जिट" कभी प्रिंट नहीं होता है, लेकिन थ्रेड कॉल के बाहर निकलने के बाद भी मुख्य थ्रेड चलता रहता है।
क्या प्रत्येक थ्रेड के लिए दुभाषिया का एक अलग उदाहरण बनाया जा रहा है, और बाहर निकलने के लिए कॉल() बस उस अलग उदाहरण से बाहर निकल रहा है? यदि हां, तो थ्रेडिंग कार्यान्वयन साझा संसाधनों तक पहुंच का प्रबंधन कैसे करता है? क्या होगा अगर मैं थ्रेड से प्रोग्राम से बाहर निकलना चाहता हूं (ऐसा नहीं है कि मैं वास्तव में चाहता हूं, लेकिन बस इतना मैं समझता हूं)?