यदि get_ident() प्रोग्राम के निष्पादन के दौरान समान मान लौटाता है, तो क्या इसका मतलब यह है कि थ्रेड एक ही थ्रेड है, या क्या यह संभव है कि थ्रेड को फिर से शुरू किया गया हो, लेकिन पिछले थ्रेड के समान पहचानकर्ता मिला हो?

यदि यह संभव है, तो इसकी कितनी संभावना है - बहुत संभव है?

मैं पूछता हूं क्योंकि मुझे उम्मीद है कि एक विशेष थ्रेड उपवर्ग को एक कार्यक्रम के दौरान कई बार मार दिया जाएगा और फिर से शुरू किया जाएगा, और उस उपवर्ग का केवल एक उदाहरण एक समय में थ्रेड के रूप में चल रहा है। लेकिन, मैंने उन थ्रेड्स को कभी-कभी get_ident() द्वारा लौटाए गए उनके थ्रेड आईडी को लॉग किया, और मैंने देखा कि पहली घटना के बाद एक अलग आईडी लॉग होने के बाद भी कुछ आईडी के लिए फिर से होना बहुत आम था।

0
John 26 जुलाई 2016, 21:38

1 उत्तर

सबसे बढ़िया उत्तर

क्या यह संभव है कि थ्रेड को पुनरारंभ किया गया था लेकिन पिछले थ्रेड के समान पहचानकर्ता मिला?

हाँ, ऐसा लगता है। दस्तावेज़ीकरण से:

जब एक थ्रेड बाहर निकलता है और दूसरा थ्रेड बनाया जाता है, तो थ्रेड आइडेंटिफ़ायर को रिसाइकल किया जा सकता है।

यह कितना आम है, यह शायद ओएस और पायथन कार्यान्वयन के आधार पर भिन्न होता है, लेकिन मुझे उम्मीद है कि यह एक बहुत ही सामान्य घटना होगी।

1
Kevin 26 जुलाई 2016, 21:41