2016-04-25 11 views
7

मैं एक जीयूआई फ्रेमवर्क बनाने की कोशिश कर रहा हूं जिसमें एक इवेंट-लूप होगा। यूआई को संभालने के लिए कुछ धागे और कुछ ईवेंट हैंडलिंग के लिए। मैंने थोड़ी सी खोज की है और इन तीन पुस्तकालयों को पाया है और मैं सोच रहा हूं कि कौन सा उपयोग करना बेहतर है? पक्ष और विपक्ष क्या होते हैं?इवेंटलेट बनाम ग्रीनलेट बनाम गीवेंट?

मैं इन तीन में से एक पुस्तकालय इस्तेमाल कर सकते हैं या यहां तक ​​कि अजगर धागे, या समवर्ती लाइब्रेरी का उपयोग करके खुद के लिए कुछ बनाना पैदा करते हैं।

मैं किसी भी तरह का अनुभव, बेंचमार्क और तुलना साझा करने की सराहना करता हूं।

+1

इस ब्लॉग पोस्ट को बहुत सावधानीपूर्वक पढ़ने से https://blog.gevent.org/2010/02/27/why-gevent/ –

उत्तर

7
  • आप निश्चित रूप से इस उद्देश्य के लिए ग्रीनलेट नहीं चाहते हैं, क्योंकि यह निम्न स्तर की लाइब्रेरी है जिसके ऊपर आप प्रकाश धागे पुस्तकालय (इवेंटलेट और गीवेंट) बना सकते हैं।
  • इवेंटलेट, गेवेंट और अधिक समान पुस्तकालय IO- बाध्य कार्यों (फ़ाइल, नेटवर्क पर पढ़ने/लिखने के लिए प्रतीक्षा) के लिए उत्कृष्ट टूलसेट प्रदान करते हैं।
  • संभावना है कि आपका अधिकांश जीयूआई कोड अन्य धागे के लिए इंतजार करेगा (इस बिंदु पर हरा/प्रकाश/ओएस थ्रेड अप्रासंगिक है), जो ऊपर उल्लिखित पुस्तकालयों के लिए एक आदर्श लक्ष्य है।
  • सभी हरे रंग के धागे पुस्तकालय ज्यादातर समान हैं। सभी को आजमाएं और तय करें कि कौन सा आपके प्रोजेक्ट को सबसे अच्छा लगा।
  • लेकिन यह भी संभव है कि ओएस स्तर जीयूआई परत की आवश्यकताओं के कारण आपको कुछ चीजों को एक अलग ओएस थ्रेड में निकालने की आवश्यकता होगी।
  • पाइथन 3 में थ्रेड लॉक के उस और बेहतर कार्यान्वयन को ध्यान में रखते हुए आप मूल threading मॉड्यूल के साथ रहना चाहेंगे यदि आपके एप्लिकेशन को सैकड़ों या अधिक धागे की आवश्यकता नहीं है।
संबंधित मुद्दे