मैं NSOperationQueue का उपयोग करके एक क्रमबद्ध कार्य कतार सेट करना चाहता हूं लेकिन मैं दस्तावेज़ में चर्चा की गई शब्दावली से थोड़ा उलझन में हूं।NSOperationQueue और समवर्ती बनाम गैर-समवर्ती
एक NSOperation वस्तु के संदर्भ में, शर्तों समवर्ती और गैर समवर्ती पक्ष-साथ धागे के निष्पादन का उल्लेख जरूरी नहीं है। इसके बजाए, एक गैर-समवर्ती ऑपरेशन का उपयोग करने वाला वातावरण है जो के लिए प्रदान किया गया वातावरण है, जबकि एक समवर्ती ऑपरेशन अपने निष्पादन वातावरण को स्थापित करने के लिए ज़िम्मेदार है।
क्या यह सेटअप "खुद निष्पादन पर्यावरण 'के लिए क्या मतलब है?
मेरे NSOperation व्युत्पन्न कार्य क्रम में वे कतार में जोड़ा गया में क्रमानुसार पर अमल करने की जरूरत है।
तो मैंने सोचा कि यह संकेत मिलता है एक 'गैर-समवर्ती' ऑपरेशन इसलिए मैं उस काम के लिए 'मुख्य' लागू करता हूं जिसे पूरा करने की आवश्यकता होती है और 'isConcurrent' के लिए भी वापस नहीं आती है। इसके अतिरिक्त, NSOperationQueue की 'setMaxConcurrentOperationCount' को 1
पर सेट किया जाएगा। कारण मैं NSOperation dependenc स्थापित नहीं कर रहा हूँ y इन कार्यों के बीच है क्योंकि वे कतार में डाले गए आदेश को पूरा करने के क्रम को पूरा करना चाहिए।
क्या ये धारणाएं सही हैं?
यदि आप अपने NSOperationQueue पर MaxConcurrentOperationCount सेट करते हैं तो आपको निर्भरताओं का उपयोग करने की आवश्यकता नहीं है। मेरे अनुभव में, यह कतार में जोड़े गए क्रम में संचालन को संसाधित करता है। हालांकि, आप केवल सुरक्षित होने के लिए निर्भरताओं को स्थापित कर सकते हैं। –
दस्तावेज़ बताता है कि अधिकतम गणना को केवल 1 तक सेट करने से फीफो ऑर्डर की गारंटी नहीं मिलती है। NSOperationQueue ऑर्डर निर्धारित करने के लिए खाते में प्राथमिकताओं और कुछ अन्य चीजें भी लेता है। –