क्या कोई मामला है जब कोई भी समेकन के लिए जीसीडी के बजाय कच्चे एनएसटीएचड का उपयोग करना चाहेगा? मुझे जीसीडी पसंद है, लेकिन मैं जानना चाहता हूं कि मुझे अंततः कोको/कोको-टच के लिए एनएसटीएचड्स का उपयोग करने की आवश्यकता होगी या नहीं।जब कोई भी जीसीडी पर एनएसटीएचडी का उपयोग करना चाहेगा?
उत्तर
मैं नियंत्रण, अच्छा प्रदर्शन और पोर्टेबिलिटी के लिए pthread
एस का उपयोग करता हूं। कभी-कभी, आप अतिरिक्त NSObject
इंटरफ़ेस ऑफ़र के लिए NSThread
का उपयोग करने का विकल्प चुन सकते हैं।
कुछ निचले स्तर के इंटरफेस हैं जहां आपको उपयोग किए जाने वाले एपीआई के साथ धागे को समन्वयित करने की आवश्यकता है (उदा। रीयलटाइम I/O या प्रतिपादन)। कभी-कभी आपके द्वारा उपयोग किए जाने वाले थ्रेड के बारे में लचीलापन होता है, कभी-कभी इस स्थिति में NSThread
का उपयोग करना सुविधाजनक होता है ताकि आप आसानी से इन इंटरफेस के साथ सीएफ या एनएस रन लूप का उपयोग कर सकें। तो आपके थ्रेड पर सेट रन लूप पैरामीटर की तुलना में एपीआई के लिए अधिक रुचि की संभावना है। इन मामलों में, जीसीडी आवश्यक रूप से एक विकल्प नहीं हो सकता है।
लेकिन ... अधिकांश देवताओं को अक्सर इन स्तरों पर जाने की आवश्यकता नहीं होगी।
कुछ विशेष परिस्थितियां हो सकती हैं जहां आपको कुछ अजीब करना है जो जीसीडी के साथ नहीं किया जा सकता है। लेकिन जीसीडी के साथ आप जो भी कर सकते हैं, आपको इसे इस तरह करना चाहिए (जीसीडी और थ्रेड पारस्परिक रूप से अनन्य नहीं हैं, अगर आपको वास्तव में थ्रेड का उपयोग करने की आवश्यकता है तो आपको पहले से मौजूद किसी भी जीसीडी सामान को बदलने की आवश्यकता नहीं है)।
हालांकि निश्चित नहीं है कि मामला क्या होगा। हो सकता है कि आपको एक माध्यमिक विशेष रनलूप स्थापित करने की आवश्यकता हो (सुनिश्चित नहीं है कि यह जीसीडी के साथ किया जा सकता है लेकिन निश्चित रूप से यह थ्रेड के साथ हो सकता है)। या कुछ अन्य विशेष मामला हो सकता है जो मैं इस समय नहीं समझ सकता।
आपको अनिवार्य रूप से लगभग ओएस एक्स या आईओएस पर एनएसटीएचड/पीथ्रेड एपीआई का उपयोग करने की आवश्यकता नहीं है। अन्य प्लेटफार्मों पर, संभवतः हां (हालांकि जीसीडी * बीएसडी, लिनक्स और यहां तक कि विंडोज़ तक व्यापक रूप से पोर्ट किया जा रहा है - ग्रैंड सेंट्रल डिस्पैच के लिए विकिपीडिया पेज देखें), लेकिन ऐप्पल ओएस प्लेटफ़ॉर्म पर आप लगभग हमेशा एक बेहतर परिणाम प्राप्त करने जा रहे हैं आपके लिए थ्रेड लाइफसाइक्ल प्रबंधन करने के लिए सिस्टम। एकमात्र ऐसा मामला जहां आप कल्पना कर सकते हैं कि आप अपना खुद का थ्रेड प्रबंधन करना चाहते हैं, वे बहुत ही वास्तविक समय परिदृश्य में हैं जहां आपको थ्रेड प्राथमिकताओं को प्रबंधित करने की आवश्यकता होती है और प्रत्येक धागे हाथ से काम करने की मात्रा को संतुलित करके थ्रेड विलंबता पर प्रत्यक्ष नियंत्रण रखता है।
- 1. कोई भी बुलीयन और इसी तरह के अपरिवर्तनीय वर्गों पर सार्वजनिक रचनाकारों का उपयोग क्यों करना चाहेगा?
- 2. आईफोन पर "एक्स आपके वर्तमान स्थान का उपयोग करना चाहेगा" के पीछे नियम क्या हैं?
- 3. कोई पाइथन या इसके विपरीत रूबी का उपयोग क्यों करना चाहेगा?
- 4. जीसीडी
- 5. जीसीडी
- 6. जीसीडी
- 7. कोई भी अभी भी xlib का उपयोग कर प्रोग्राम
- 8. कोई भी fogbugz का उपयोग कर एकल?
- 9. किसके लिए उपयोग करना आसान है? जीसीडी या एनएसओपरेशन?
- 10. जब एक intval का उपयोग करना चाहिए और जब पूर्णांक
- 11. जब उपयोग करना है और प्रतिलिपि का उपयोग कब करें
- 12. "कोई MFC किसी भी उपयोग करना चाहिए और अधिक" क्यों?
- 13. जीसीडी - यूआईएममेज व्यू
- 14. @ सिंक्रनाइज़ बनाम जीसीडी dispatch_barrier_async
- 15. जीसीडी dispatch_async और NSURLConnection
- 16. जब "उपयोग" का उपयोग करना चाहिए और जब "आवश्यकता" और जब "ऑटोोलॉइड" perl [अच्छा प्रोग्रामिंग अभ्यास] में उपयोग करना चाहिए?
- 17. क्या कोई भी कभी रिबन नियंत्रण का उपयोग करता है?
- 18. एक जीसीडी कतार कैसे बनाएं जो हमेशा बहु-कोर CPU पर भी धारावाहिक है?
- 19. जब उपयोग करना है और
- 20. कोई भी INotifyPropertyChanging का उपयोग क्यों नहीं करता?
- 21. अलगाव लेवल का उपयोग करना। स्नैपशॉट लेकिन डीबी अभी भी
- 22. जीसीडी और केवीओ समस्याएं
- 23. जब भी मणि
- 24. जावा राउंड अप कोई भी संख्या
- 25. एचटीएमएल कैनवास पर भी अजीब भरने का उपयोग
- 26. क्या अभी भी ASIHTTPRequest का उपयोग करना सुरक्षित है?
- 27. कोई भी इकाई फ्रेमवर्क * वेल * का उपयोग कर रहा है?
- 28. कोई भी पावरहेल में बीडीडी का उपयोग कर रहा है?
- 29. कोई भी एएसपी .NET सदस्यता का उपयोग करता है?
- 30. मिल्टन वेबडाव पुस्तकालय का उपयोग कर कोई भी व्यक्ति?