को प्राथमिकता सेट करें जीसीडी 4 वैश्विक प्राथमिकता कतारों (उच्च, डिफ़ॉल्ट, निम्न, पृष्ठभूमि) के अनुसार ब्लॉक को एक कतार में प्रेषण करने में सक्षम बनाता है। मेरे पास मेरे ऐप में कई NSOperationQueues हैं लेकिन प्रत्येक को अलग प्राथमिकता में चलाने के लिए चाहते हैं। जैसा कि मैंने समझा था NSOperationQueue जीसीडी पर एक अमूर्त है, और NSOperationQueue (जीसीडी प्राथमिकता कतारों के समान) को विभिन्न प्राथमिकताओं को सेट करना चाहता हूं। क्या ऐसा करने का कोई तरीका है? (एक ऑपरेशन को प्राथमिकता निर्धारित करने के लिए संभव है लेकिन कतार में ही नहीं)।NSOperationQueue
उत्तर
NSOperationQueue Class Reference से एक उद्धरण। कतार के भीतर
संचालन (लेकिन अभी तक क्रियान्वित नहीं) खुद को प्राथमिकता के स्तर और अंतर-संचालन वस्तु निर्भरता के अनुसार संगठित है और उसके अनुसार क्रियान्वित कर रहे हैं कर रहे हैं।
इंटर-ऑपरेशन निर्भरता संचालन के लिए एक पूर्ण निष्पादन आदेश प्रदान करती है, भले ही वे ऑपरेशन अलग-अलग ऑपरेशन कतारों में स्थित हों। एक ऑपरेशन ऑब्जेक्ट को पर निष्पादित नहीं माना जाता है जब तक कि इसके सभी निर्भर संचालन निष्पादित नहीं हो जाते हैं। निष्पादित करने के लिए तैयार संचालन के लिए, ऑपरेशन कतार हमेशा अन्य तैयार संचालन के सापेक्ष उच्चतम प्राथमिकता वाले व्यक्ति को निष्पादित करता है।
डिजाइन द्वारा इसका मतलब है, आप कतार में प्राथमिकता निर्धारित नहीं कर सकते हैं, लेकिन NSOperationQueue संचालन के व्यक्तिगत प्राथमिकता स्तर के आधार पर व्यक्तिगत संचालन के लिए जीसीडी वैश्विक कतार का उपयोग करेगा।
एनएसओपेरेशंस पर threadPriority
सेट करने का प्रयास करें जिसे आप कतार में जोड़ते हैं।
बहिष्कृत और केवल ओएस एक्स के लिए –
आईओएस 8 से शुरू होने पर, NSOperationQueue में qualityOfService
संपत्ति है, जो मुझे लगता है कि ओपी का मतलब है। Class Reference से:
यह गुण सेवा स्तर आपरेशन करने के लिए लागू वस्तुओं कतार में जोड़ा निर्दिष्ट करता है। यदि ऑपरेशन ऑब्जेक्ट में एक स्पष्ट सेवा स्तर सेट है, तो उस मान का उपयोग इसके बजाय किया जाता है। [...]
सेवा स्तर प्राथमिकता को प्रभावित करते हैं जिसके साथ ऑपरेशन ऑब्जेक्ट सिस्टम संसाधनों जैसे सीपीयू समय, नेटवर्क संसाधन, डिस्क संसाधनों तक पहुंच प्रदान करता है, और इसी तरह। उच्च गुणवत्ता वाले सेवा स्तर के साथ संचालन सिस्टम संसाधनों पर अधिक प्राथमिकता दी जाती है ताकि वे अपना कार्य अधिक तेज़ी से कर सकें। आप सुनिश्चित करने के लिए सेवा स्तर का उपयोग करते हैं कि स्पष्ट उपयोगकर्ता अनुरोधों का जवाब देने वाले संचालन कम महत्वपूर्ण कार्य पर प्राथमिकता दी जाती हैं।
इसके अलावा iOS 8 में, आप बदल सकते हैं जो GCD कतार underlyingQueue
संपत्ति के साथ प्रयोग किया जाता है, और इसलिए वांछित प्राथमिकता के साथ वैश्विक GCD कतार चुनें।
- 1. NSOperationQueue
- 2. NSOperationQueue
- 3. dispatch_after NSOperationQueue
- 4. NSOperationQueue IOS5
- 5. पुनर्संरचना NSOperationQueue
- 6. NSBlockOperation, NSOperationQueue और ब्लॉक
- 7. NSOperation और NSOperationQueue कॉलबैक
- 8. NSOperationQueue धारावाहिक कैसे बनाएं?
- 9. डिस्पैच कतार और NSOperationQueue
- 10. NSOperationQueue सीरियल फीफो कतार
- 11. NSOperationQueue नामित धागा
- 12. रद्द करेंऑपरऑपरेशंस [NSOperationQueue mainQueue]
- 13. सी ++ NSOperation और NSOperationQueue
- 14. एनएसटीएचएड बनाम NSOperationQueue बनाम ??? आईफोन
- 15. NSOperationQueue मुख्य क्यूई बनाम प्रदर्शनकर्ताऑनमेन थ्रेड?
- 16. NSOperationQueue और समवर्ती बनाम गैर-समवर्ती
- 17. व्यू कंट्रोलर में NSOperationQueue साझा करना?
- 18. जावा एंड्रॉइड में NSOperationQueue के बराबर क्या है?
- 19. NSOperationQueue के साथ पाठक-लेखक मुद्दों को हल करें?
- 20. कोर डेटा (NSOperationQueue और NSManagedObjectContext) के बहुप्रचारित उपयोग
- 21. NSOperationQueue waitUntilAllOperationsAreFinished पृष्ठभूमि में रहते समय काम नहीं कर रहे
- 22. हिम तेंदुए पर NSOperationQueue कितना हल्का वजन है?
- 23. एक लिफो स्टैक के रूप में NSOperationQueue का उपयोग करें?
- 24. NSOperationQueue समाप्त होने तक एनएसओपरेशन को कैसे अवरुद्ध करें?
- 25. मैं NSOperationQueue में NSOperation को कैसे रोक सकता हूं?
- 26. ऑपरेशन रद्द करते समय ASIHTTPRequest और NSOperationQueue के साथ क्रैशिंग
- 27. आईओएस - कैसे पता चलेगा जब NSOperationQueue कुछ परिचालनों को संसाधित करता है?
- 28. क्या यह [NSOperationQueue ऑपरेशंस] के माध्यम से गणना करना सुरक्षित है?
- 29. कॉलिंग - (शून्य) रद्द करें NSoperationQueue NSOperation की रद्द की गई संपत्ति को सेट नहीं कर रहा है जो कि कतार
- 30. NsoperationQueue सभी ऑपरेशंस को रद्द नहीं किया जाता है जब तक कि यह ऑपरेशन समाप्त नहीं हो जाता
नहीं, NSOperationQueue केवल एक जीसीडी वैश्विक कतार का उपयोग करता है, डिफ़ॉल्ट प्राथमिकता एक। एनएसओपरेशन प्राथमिकता अवधारणा असंबंधित है। – das
मैंने दावा नहीं किया कि यह विभिन्न प्राथमिकता स्तरों के साथ जीसीडी वैश्विक कतार का उपयोग करता है। मैंने जो कहा और कहने का मतलब यह है कि यह कार्य को निष्पादित करता है जो ऑपरेशन के व्यक्तिगत प्राथमिकता स्तर पर निर्भर करता है। @das – svena
ठीक है, 'जीसीडी ग्लोबल कतार' (बहुवचन) के आपके उल्लेख ने मुझे उस प्रभाव को – das