मैं एक GUI एप्लिकेशन लिख रहा हूं जो नियमित रूप से एक वेब कनेक्शन के माध्यम से डेटा पुनर्प्राप्त करता है। चूँकि यह पुनर्प्राप्ति में कुछ समय लगता है, इससे UI पुनः प्राप्ति प्रक्रिया के दौरान अनुत्तरदायी हो जाता है (इसे छोटे भागों में विभाजित नहीं किया जा सकता है)। यही कारण है कि मैं एक अलग वर्कर थ्रेड के लिए वेब कनेक्शन को आउटसोर्स करना चाहता हूं।
[हाँ, मुझे पता है, अब मुझे दो समस्याएं हैं ।]
वैसे भी, एप्लिकेशन PyQt4 का उपयोग करता है, इसलिए मैं जानना चाहता हूं कि बेहतर विकल्प क्या है: Qt के थ्रेड्स का उपयोग करें या पायथन threading
मॉड्यूल का उपयोग करें ? प्रत्येक के फायदे / नुकसान क्या हैं? या आपके पास एक पूरी तरह से अलग सुझाव है?
संपादित करें (पुन: इनाम): जबकि मेरे विशेष मामले में समाधान शायद जेफ ओबेर और लुकास लालकिंसी जैसे गैर-अवरुद्ध नेटवर्क अनुरोध का उपयोग कर रहा होगा (इसलिए मूल रूप से नेटवर्किंग कार्यान्वयन के लिए समस्याएँ छोड़ रहा है), मैं अभी भी अधिक पसंद करूंगा सामान्य प्रश्न का गहराई से उत्तर:
देशी पायथन थ्रेड्स ( threading
मॉड्यूल से) पर PyQt4's (यानी Qt) थ्रेड्स का उपयोग करने के क्या फायदे और नुकसान हैं ?
संपादन 2: आप सभी के उत्तर के लिए धन्यवाद। यद्यपि कोई 100% समझौता नहीं है, लेकिन व्यापक सहमति प्रतीत होती है कि इसका उत्तर "क्यूटी का उपयोग करें" है, क्योंकि इसका लाभ बाकी लाइब्रेरी के साथ एकीकरण है, जबकि कोई वास्तविक नुकसान नहीं है।
किसी के लिए दो सूत्रण कार्यान्वयन के बीच चयन करने की तलाश में, मैं अत्यधिक सलाह देता हूं कि वे यहां दिए गए सभी उत्तरों को पढ़ें, जिसमें पायट मेलिंग सूची थ्रेड शामिल है जो एबॉट से लिंक करता है।
बाउंटी के लिए मेरे विचार में कई उत्तर थे; अंत में मैंने बहुत प्रासंगिक बाहरी संदर्भ के लिए मठाधीश को चुना; हालांकि, यह एक करीबी कॉल था।
एक बार फिर धन्यवाद।