में इसका उत्तर Android, Objective C और C++ से पहले दिया गया है, लेकिन स्पष्ट रूप से पायथन के लिए नहीं। मैं विश्वसनीय रूप से यह निर्धारित कैसे करूं कि वर्तमान धागा मुख्य धागा है या नहीं? मैं कुछ दृष्टिकोणों के बारे में सोच सकता हूं, जिनमें से कोई भी वास्तव में मुझे संतुष्ट नहीं करता है, क्योंकि यह threading.MainThread
की तुलना में यह आसान हो सकता है।जांचें कि वर्तमान धागा मुख्य धागा है, पाइथन
चेक धागा नाम
मुख्य थ्रेड इस तरह threading.py
में instantiated है:
Thread.__init__(self, name="MainThread")
तो एक
if threading.current_thread().name == 'MainThread'
कर सकता है, लेकिन इस नाम तय हो गई है? अन्य कोड मैंने देखा है कि MainThread
धागे के नाम में कहीं भी निहित है।
स्टोर शुरू धागा
मैं पल थ्रेड कार्यक्रम प्रारंभ होता है, अर्थात, जबकि कोई अन्य सूत्र अभी तक कर रहे हैं शुरू करने के लिए एक संदर्भ संग्रहीत कर सकती है। यह बिल्कुल विश्वसनीय होगा, लेकिन इस तरह की एक साधारण क्वेरी के लिए रास्ता बहुत बोझिल है?
क्या ऐसा करने का एक और संक्षिप्त तरीका है?
'isinstance (threading.current_thread(), threading._Main थ्रेड)'? – iurii
यह टिप्पणी अपनी प्रतिक्रिया हो सकती है :) – jonny
क्या '_MainThread' के बारे में कोई दस्तावेज है? क्या यह एक विशिष्ट कार्यान्वयन का केवल एक हिस्सा है? – jonny