मेरे पास एक त्वरित प्रश्न है। मुझे एकाधिक सेंसर से डेटा पकड़ने के लिए एक छोटा बहुप्रचारित कार्यक्रम बनाना है और मुझे दोनों pthreads और qthreads का ज्ञान है। मेरे पास दोनों पुस्तकालयों तक पहुंच है। व्यक्तिगत रूप से मैं अपने डिजाइन और विभिन्न कार्यक्षमताओं के कारण क्यूटी का उपयोग करने के पक्ष में पक्षपातपूर्ण हूं। लेकिन क्या एक बनाम दूसरे का उपयोग करने पर एक महत्वपूर्ण फायदा है? धन्यवादQThreads बनाम Pthreads
उत्तर
QThreads pthreads पर बनाए जाते हैं। वे ऑब्जेक्ट ओरिएंटेड अमूर्तता प्रदान करते हैं, जिससे धागे के साथ काम करना आसान हो जाता है। QThreads पोर्टेबल के अलावा, वे अंतर्निहित थ्रेड सिस्टम का उपयोग कर जो भी सिस्टम चला सकते हैं, जबकि pthreads POSIX सिस्टम के विशिष्ट हैं।
QThreads का उपयोग करने का लगभग एकमात्र नुकसान यह है कि आपको अपने आवेदन को क्यूटी के खिलाफ लिंक करना होगा; यह निर्भरता आपके आवेदन को वितरित करने में थोड़ा और कठिन बना सकती है।
मुझे लगता है कि चीजों के दिल में QThread
लिनक्स के तहत pthread
का उपयोग करता है। मुझे यकीन नहीं है कि इसके विंडोज़ पक्ष के लिए हुड के नीचे क्या है। जब तक कुछ विशिष्ट pthread
एपीआई फ़ंक्शंस नहीं हैं जो आपको QThread
के साथ उपलब्ध नहीं हैं, तो मैं आपको पोर्टेबिलिटी से लाभ उठाने के लिए केवल QThread
के साथ रहूंगा। मैं उम्मीद नहीं करता कि वहां कोई महत्वपूर्ण प्रदर्शन अंतर होगा। Qthread
आपको थ्रेड सीमाओं में सिग्नल/स्लॉट तंत्र का उपयोग करने की अनुमति देगा।
लेकिन आपको यह जानना होगा कि QThreads मैनेजमेंट के लिए इवेंट लूप का उपयोग किस प्रकार करते हैं, इसलिए आप केवल थ्रेड को थ्रेड नहीं कर सकते हैं। यदि थ्रेड लंबे और कड़ी मेहनत करते हैं, तो इसे रिलीज़ नहीं होने पर इसे रोकना संभव नहीं है। कुछ मामलों में यह महत्वपूर्ण है।
- 1. Pthreads बनाम OpenMP
- 2. pthreads प्राथमिकता
- 3. समांतरता: pthreads या ओपनएमपी?
- 4. लिनक्स में pthreads tracing?
- 5. संसाधन अधिग्रहण और pthreads
- 6. pthreads (अच्छा, प्राथमिकता)
- 7. एक हालत परिवर्तनीय सिग्नलिंग (pthreads)
- 8. pthreads के लिए अच्छा स्तर?
- 9. pthreads: पाठक/लेखक ताले, लॉक
- 10. QThreads CPU कोर नहीं ठीक से उपयोग उपयोग किया
- 11. pthreads में openmp संकलित करें सी कोड
- 12. लिनक्स पर सेट थ्रेडप्रोरिटी के समतुल्य (pthreads)
- 13. क्या मुझे -D_REENTRANT -pthreads की आवश्यकता है?
- 14. संकेतों द्वारा दो अवरुद्ध pthreads को बाधित करना
- 15. विभिन्न विंडोज कंपाइलर्स पर pthreads-win32 की पोर्टेबिलिटी
- 16. मुझे pthreads डीबग करने की क्या ज़रूरत है?
- 17. pthreads: एक थ्रेड जो अन्य धागे को ट्रिगर करता है
- 18. Android NDK के साथ pthreads का उपयोग कैसे करें?
- 19. विंडोज के लिए कौन सा बेहतर है? pthreads या CreateMutex?
- 20. बनाम बनाम
- 21. : बनाम बनाम ::
- 22. स्पाइडरमोन्की बनाम जावास्क्रिप्ट बनाम बनाम?
- 23. Mercurial: भ्रष्टाचार बनाम रिकॉर्ड बनाम qrecord बनाम शेल्व बनाम प्रत्यारोपण बनाम dirstate बनाम कतार
- 24. LINQ बनाम लैम्ब्डा बनाम अज्ञात तरीके बनाम बनाम
- 25. एनएचबीर्नेट एचक्यूएल बनाम मानदंड बनाम क्वेरीरी बनाम लिंक बनाम। प्रदर्शन
- 26. डीकोड और व्याख्या को बनाम बनाम बनाम बनाम
- 27. इनलाइन बनाम __inline बनाम __inline__ बनाम __forceinline बनाम?
- 28. एपीआई बनाम टूलकिट बनाम फ्रेमवर्क बनाम लाइब्रेरी
- 29. pymssql बनाम pyodbc बनाम adodbapi बनाम ...
- 30. एटमिकोस बनाम जेओटीएम बनाम बिट्रोनिक्स बनाम?
हां .. मैं बस इसे देख रहा था और यह आंतरिक रूप से ऐसा लगता है कि यह कैसे किया जाता है। धन्यवाद peoro। मैं वास्तव में विशेष रूप से देख रहा था कि tryLock() को pthread_mutex_trylock का उपयोग करके कार्यान्वित किया गया है। मुझे लगता है कि यह कैसा है। – blueskin
एकमात्र वितरण समस्या यह है कि जब आप गतिशील रूप से क्यूटी पुस्तकालयों से लिंक करते हैं तो आपको अपने कोड के साथ एलजीपीएल लाइसेंस शामिल करना होगा (यह माना जाता है कि आप खुले सोर्स किए गए हैं और व्यावसायिक स्रोत संस्करण नहीं हैं)। विंडोज़ पर, यदि आप अनिश्चित हैं कि आपको कौन सी डीएलएलएस वितरित करने की आवश्यकता होगी, तो 'depend.exe' का उपयोग करें और यह आपको बिल्कुल बताएगा! http://www.dependencywalker.com/ – g19fanatic