2012-08-28 29 views
11

क्या RPYY जीआईएल RPYy में पीपीपी दुभाषिया कार्यान्वयन का हिस्सा है, या यह ऐसा कुछ है जो translate.py स्वचालित रूप से जोड़ता है? यानी, अगर मैं RPython में अपना खुद का नया भाषा दुभाषिया लिखना चाहता था और इसे translate.py के माध्यम से चलाया, तो क्या यह जीआईएल को प्राथमिकता के अधीन होगा, या यह मेरे दुभाषिया कोड पर होगा?पीपीआई में जीआईएल कहां है?

उत्तर

10

जीआईएल हैंडलिंग आपके पीपीपी चेकआउट में मॉड्यूल/थ्रेड/gil.py द्वारा डाला जाता है। यह एक वैकल्पिक अनुवाद सुविधा है और यह केवल तभी जोड़ा जाता है जब थ्रेड मॉड्यूल सक्षम होता है। उस ने कहा, RPython खुद थ्रेड-सुरक्षित भाषा नहीं है (उदाहरण के लिए सी), इसलिए आपको ऑब्जेक्ट को सही तरीके से लॉक करने के लिए स्वयं की देखभाल करने की आवश्यकता होगी, इसलिए वे असंगत नहीं आते हैं। मुख्य मुद्दा एक थ्रेड-जागरूक कचरा कलेक्टर प्रदान करना होगा, क्योंकि जिसे हम अभी उपयोग करते हैं वह थ्रेड सुरक्षित नहीं है और केवल लॉक जोड़ने से फ्री-थ्रेडिंग मॉडल से बहुत सारे लाभ निकल जाएंगे।

चीयर्स, fijal

बस रिकार्ड के लिए
+0

, ऐसा लगता है कि clojure-py नई प्रक्रियाओं को उत्पन्न करने और erlang शैली संदेश के माध्यम से संवाद स्थापित करने से समस्या के समाधान हो गया है। http://clojure-py.blogspot.com/2012/04/clojure-py-and-distributed-concurrency.html – lobsterism

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^