यदि get_ident()
प्रोग्राम के निष्पादन के दौरान समान मान लौटाता है, तो क्या इसका मतलब यह है कि थ्रेड एक ही थ्रेड है, या क्या यह संभव है कि थ्रेड को फिर से शुरू किया गया हो, लेकिन पिछले थ्रेड के समान पहचानकर्ता मिला हो?
यदि यह संभव है, तो इसकी कितनी संभावना है - बहुत संभव है?
मैं पूछता हूं क्योंकि मुझे उम्मीद है कि एक विशेष थ्रेड उपवर्ग को एक कार्यक्रम के दौरान कई बार मार दिया जाएगा और फिर से शुरू किया जाएगा, और उस उपवर्ग का केवल एक उदाहरण एक समय में थ्रेड के रूप में चल रहा है। लेकिन, मैंने उन थ्रेड्स को कभी-कभी get_ident()
द्वारा लौटाए गए उनके थ्रेड आईडी को लॉग किया, और मैंने देखा कि पहली घटना के बाद एक अलग आईडी लॉग होने के बाद भी कुछ आईडी के लिए फिर से होना बहुत आम था।
1 उत्तर
क्या यह संभव है कि थ्रेड को पुनरारंभ किया गया था लेकिन पिछले थ्रेड के समान पहचानकर्ता मिला?
हाँ, ऐसा लगता है। दस्तावेज़ीकरण से:
जब एक थ्रेड बाहर निकलता है और दूसरा थ्रेड बनाया जाता है, तो थ्रेड आइडेंटिफ़ायर को रिसाइकल किया जा सकता है।
यह कितना आम है, यह शायद ओएस और पायथन कार्यान्वयन के आधार पर भिन्न होता है, लेकिन मुझे उम्मीद है कि यह एक बहुत ही सामान्य घटना होगी।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।