पर वर्तमान में मैं NSThread
का उपयोग किसी अन्य थ्रेड में छवियों को कैश करने के लिए कर रहा हूं।एनएसटीएचएड बनाम NSOperationQueue बनाम ??? आईफोन
[NSThread detachNewThreadSelector:@selector(cacheImage:) toTarget:self withObject:image];
वैकल्पिक रूप से
:
[self performSelectorInBackground:@selector(cacheImage:) withObject:image];
वैकल्पिक रूप से, मैं एक NSOperationQueue
NSInvocationOperation *invOperation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(cacheImage:) object:image];
NSOperationQueue *opQueue = [[NSOperationQueue alloc] init];
[opQueue addOperation:invOperation];
उपयोग कर सकते हैं वहाँ NSThread
से दूर स्विच करने के लिए किसी भी कारण है? जीसीडी एक चौथा विकल्प है जब इसे आईफोन के लिए जारी किया जाता है, लेकिन जब तक कि कोई महत्वपूर्ण प्रदर्शन लाभ न हो, तो मैं अधिकतर प्लेटफॉर्म में काम करने वाली विधियों के साथ रहना चाहता हूं।
@ जॉन-एरिक की सलाह के आधार पर, मैं एक NSOperationQueue
/NSOperation
उपवर्ग समाधान के साथ चला गया। ये अच्छी तरह काम करता है। NSOperation
कक्षा पर्याप्त लचीला है कि आप इसे अपनी आवश्यकताओं के आधार पर, इनवोकेशन, ब्लॉक या कस्टम सबक्लास के साथ उपयोग कर सकते हैं। कोई फर्क नहीं पड़ता कि आप अपना NSOperation
कैसे बनाते हैं, जब आप इसे चलाने के लिए तैयार होते हैं तो आप इसे केवल एक ऑपरेशन कतार में फेंक सकते हैं। संचालन को आपके द्वारा कतार में रखी गई वस्तुओं के रूप में काम करने के लिए डिज़ाइन किया गया है या यदि आप चाहें तो उन्हें स्टैंडअलोन एसिंक्रोनस विधियों के रूप में चला सकते हैं। चूंकि आप आसानी से अपने कस्टम ऑपरेशन विधियों को आसानी से चला सकते हैं, परीक्षण परीक्षण आसान है।
मैंने इस सवाल को कुछ हद तक प्रोजेक्ट्स में इस्तेमाल किया है क्योंकि मैंने इस सवाल से पूछा था और मैं अपने कोड और मेरे परीक्षणों को साफ, संगठित और खुशी से असीमित रूप से रखने के तरीके से खुश नहीं हो सकता था।
एक ++++++++++ उपवर्ग फिर
आप उनमें से प्रत्येक को प्रोफ़ाइल कर सकते हैं। यह पता लगाने का एक तरीका होगा। –
प्रदर्शन गलत शब्द था, मुझे संदेह है कि वे सब नीचे समान हैं। मैं किसी ऐसे व्यक्ति की तलाश में हूं जिसने मुझे पसंदीदा तरीके से कुछ सलाह देने के लिए इन तरीकों में से दो या अधिक तरीकों का अनुभव किया है और यह बेहतर क्यों है। – kubi