दिलचस्प पोस्ट
"पार्टी मॉडल" के पीछे, और लाभ के सिद्धांत क्या हैं? पर क्लिक करें पूर्ण स्क्रीन जाओ क्या स्थितियों में CopyOnWriteArrayList उपयुक्त है? Google मानचित्र से एक पॉलीलाइन प्राप्त करें V3 स्थानांतरित वस्तु से मैं क्या कर सकता हूं? डीबी से कनेक्ट किए बिना mysql_real_escape_string के वैकल्पिक Memcached बनाम Redis? स्ट्रिंग में किसी भी आधार में एक पूर्णांक कैसे परिवर्तित करें? इंटरफ़ेस विधि invocations क्यों ठोस invocations की तुलना में धीमी है? माईएसक्यूएल – टेबल को अलग टेबल में बदलना वसंत सुरक्षा के साथ पकड़ने / सत्र का समय समाप्त बैकअप एक GitHub भंडार _JAVA_OPTIONS JAVA_TOOL_OPTIONS और JAVA_OPTS के बीच का अंतर मैं OOVER_QUERY_LIMIT प्रतिक्रिया प्राप्त किए बिना कैसे जीओकोड 20 पतों को प्राप्त कर सकता हूं? स्पार्क एमएलबीबी मॉडल की सेवा कैसे करें?

क्या आपको जीसीडी में एक ब्लॉक के भीतर एक एनएसएएसयूटीओरियस पोल बनाने की आवश्यकता है?

आम तौर पर, यदि आप पृष्ठभूमि थैली पैदा करते हैं या NSOperationQueue पर NSOperation चलाने के लिए आपको उस थ्रेड या ऑपरेशन के लिए एक NSAutoreleasePool बनाने की आवश्यकता है क्योंकि कोई भी डिफ़ॉल्ट रूप से मौजूद नहीं है

क्या ऐसा नियम एक ब्लॉक पर लागू होता है जिसे ग्रैंड सेंट्रल डिस्पैच कतार में रखा जाता है और एक गैर-मुख्य थ्रेड पर चलाया जा सकता है? यही है, क्या आपको प्रत्येक ब्लॉक के भीतर एक एनएसएयूटीओरियरेपिपल बनाने की जरूरत है जो आप मुख्य कतार के अलावा किसी और चीज पर भेजते हैं?

मेरे सीमित परीक्षण में, मुझे ऑटोरेलेज्ड ऑब्जेक्ट्स के लिए कन्सोल चेतावनियां दिखाई नहीं देती हैं जिन्हें आप आमतौर पर पृष्ठभूमि थ्रेड्स या एनएसओपरेशन के साथ देखते हैं। हालांकि, मुझे इस पर निश्चित दस्तावेज नहीं मिल सकता है, इसलिए मैं सोच रहा था कि कोई कह सकता है कि कहां यह कहा गया है।

वेब के समाधान से एकत्रित समाधान "क्या आपको जीसीडी में एक ब्लॉक के भीतर एक एनएसएएसयूटीओरियस पोल बनाने की आवश्यकता है?"

क्या ऐसा नियम एक ब्लॉक पर लागू होता है जिसे ग्रैंड सेंट्रल डिस्पैच कतार में रखा जाता है और एक गैर-मुख्य थ्रेड पर चलाया जा सकता है? यही है, क्या आपको प्रत्येक ब्लॉक के भीतर एक एनएसएयूटीओरियरेपिपल बनाने की जरूरत है जो आप मुख्य कतार के अलावा किसी और चीज पर भेजते हैं?

ग्रांड सेंट्रल डिस्पैच स्वचालित रूप से एक कतार के अनुसार ऑटोरेक्लोज पूल का प्रबंधन करेगा। हालांकि, कोई गारंटी नहीं है कि कब पूल सूखा जाएगा; यह एक ब्लॉक संसाधित होने के बाद हो सकता है, यह सैकड़ों के बाद हो सकता है (लेकिन शायद नहीं होगा)।

इसलिए, यदि आप केवल कुछ वस्तुएं आवंटित कर रहे हैं, तो इसके बारे में चिंता मत करो। हालांकि, यदि आप किसी भी महत्वपूर्ण संख्या में ऑब्जेक्ट्स आवंटित कर रहे हैं (और जब आप मेमोरी से विवश पर्यावरण को लक्षित कर रहे हैं), तो आपको पूल बनाने और निकास करना चाहिए


प्रलेखन अद्यतन किया गया है।

https://developer.apple.com/library/content/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html#//apple_ref/doc/uid/TP40008091-CH102-SW1 देखें

यदि आपका ब्लॉक कुछ उद्देश्य-सी ऑब्जेक्ट्स से अधिक बनाता है, तो आप उन ऑब्जेक्ट्स के लिए मेमोरी प्रबंधन को संभालने के लिए @ऑटोरेज़ ब्लॉक में अपने ब्लॉक के कोड के कुछ हिस्सों को जोड़ना चाहते हैं। हालांकि जीसीडी प्रेषण कतारों के पास अपने स्वयं के ऑटोरियोज पूल हैं, वे जब उन पूलों को सूखा हुआ करते हैं तो कोई गारंटी नहीं देते हैं। यदि आपका आवेदन स्मृति विवश है, तो अपना स्वयं का ऑटोरियोज पूल बनाने से आपको अधिक नियमित अंतराल पर ऑटोररेलेज़ ऑब्जेक्ट के लिए मेमोरी को मुक्त करने की अनुमति मिलती है।