मैं अक्सर लोगों को यह कहते हुए देखता हूं कि जीआईएल प्रति पायथन इंटरप्रेटर (यहां तक कि यहां स्टैक ओवरफ्लो पर भी है)।क्या पाइथन जीआईएल वास्तव में प्रति दुभाषिया है?
लेकिन मुझे स्रोत कोड में जो दिखाई देता है, ऐसा लगता है कि जीआईएल एक वैश्विक चर है और इसलिए प्रत्येक पायथन प्रक्रिया में सभी दुभाषियों के लिए एक जीआईएल है। मुझे पता है कि उन्होंने ऐसा इसलिए किया क्योंकि लुआ या टीसीएल की तरह चारों ओर पारित कोई दुभाषिया वस्तु नहीं है, यह शुरुआत में अच्छी तरह से डिजाइन नहीं किया गया था। और थ्रेड स्थानीय भंडारण पाइथन लोगों के उपयोग के लिए पोर्टेबल नहीं लगता है।
क्या यह सही है? मैं यहां एक परियोजना में 2.4 संस्करण का उपयोग कर रहा हूं।
क्या यह बाद के संस्करणों में बदल गया था, खासकर 3.0 में?
कई परियोजनाओं ने पहले सीपीआईथन से जीआईएल को हटा दिया है। Unladen निगल पहला नहीं है। हालांकि उन्होंने जीआईएल संस्करण के साथ-साथ प्रदर्शन नहीं किया, इसलिए कोई भी उनका उपयोग नहीं करता है। – nosklo
इसके अलावा, बेकार जीआईएल को नहीं हटाता है। वास्तव में, किसी भी स्टैकलेस माइक्रोथ्रेड में किसी भी अवरुद्ध ऑपरेशन पूरे एप्लिकेशन को अवरुद्ध कर देगा। – nosklo
और ज्योथन इतनी धीमी है कि यह भी अनुपयोगी है - जब तक कि आप इसे जावा प्रोग्राम में स्क्रिप्टिंग प्लगइन के लिए उपयोग न करें, जहां अधिकांश काम पायथन में किया जाता है। – Lothar