पर सीमित करने के लिए पर्याप्त है, मुझे लगता है कि मेरे प्रश्न का उत्तर 'नहीं' है, लेकिन मैं अभी भी उलझन में हूं और इसके बारे में अनिश्चित हूं। तो कृपया पुष्टि करें। एकाधिक धागे के साथ कोर डेटा का उपयोग करते समय मैंने सावधान रहना आवश्यक है। NSManagedObjectContext ऑब्जेक्ट्स थ्रेड सीमाओं को पार नहीं करना चाहिए। दोनों धागे और कोर डेटा के साथ एक नौसिखिया होने के नाते, मुझे खुशी से पता चला कि जीसीडी को इनमें से कुछ आसान बनाना चाहिए।एक जीडीडी प्रेषण कतार है जो कोर डेटा संदर्भ को एक थ्रेड
शायद, मैंने सोचा कि मैं कोर डेटा से निपटने के लिए एक समर्पित जीसीडी प्रेषण कतार तैयार करूंगा (या यदि आवश्यक हो, तो प्रत्येक के पास अपने मूल डेटा संदर्भ के साथ एकाधिक प्रेषण पंक्तियां होंगी)। यह आसान होता।
लेकिन अब मुझे एहसास है कि जीसीडी प्रेषण कतारों का एक बड़ा लाभ यह है कि यह आवश्यकतानुसार कई धागे का उपयोग करता है और बनाता है। तो - अगर मैं यह सही समझता हूं - कार्य मैं एक और एक ही प्रेषण कतार को सौंपता हूं, तो अलग-अलग धागे में चलना समाप्त हो सकता है, संभावित रूप से कोर डेटा संदर्भ को एक धागे से दूसरे में सौंपना, और चीजें गलत हो रही हैं। क्या वह सही है?
मैंने कई संबंधित प्रश्न और उत्तर पढ़े हैं, उदाहरण के लिए Core Data and threads/Grand Central Dispatch, लेकिन मैं कुछ हद तक उलझन में रहता हूं। जीसीडी कतारों का उपयोग करते हुए उस प्रश्न का स्वीकार्य उत्तर यह सुनिश्चित करता है कि प्रत्येक धागे पर एक नया संदर्भ बनाया गया हो, लेकिन ऐसा करने की आवश्यकता को इंगित नहीं करता है। एक और जवाब कहता है, "आप com.yourcompany.appname.dataaccess नामक कतार पर सभी कोरडाटा कार्य निष्पादित कर सकते हैं" ऐसा लगता है कि जब तक कोर डेटा कार्य एक जीसीडी प्रेषण कतार तक ही सीमित है, तो सब ठीक है। शायद यह नहीं है।
महान जवाब है, लेकिन जुड़ा हुआ सूत्र में, bbum के भ्रम की स्थिति सूचित करते हैं कि एमओसी वस्तु ही पार धागा सीमाओं, भले ही पहुँच धारावाहिक है नहीं कर सकते हैं लगता है। बेन विशेष रूप से यह बताता है, तो हमें क्या करने की उम्मीद है? –
@SedateAlien, अपने उत्तर में, बेन [दस्तावेज़ीकरण] (http://tinyurl.com/6dlg75j) में नोट को इंगित करता है जो कहता है: *** नोट: ** आप थ्रेड, सीरियल ऑपरेशन कतार, या समेकन के लिए प्रेषण कतार। संक्षेप में, यह आलेख इनमें से किसी भी संदर्भ के लिए "थ्रेड" का उपयोग करता है। "* तो, उसके उत्तर के शेष में, या प्रलेखन में, आप * थ्रेड * के लिए * धारावाहिक प्रेषण कतार * को प्रतिस्थापित कर सकते हैं। , आवश्यक बात यह है कि एक ही समय में अलग-अलग चीजों के लिए एक ही संदर्भ का उपयोग करने से बचें। उल्लेख किए गए तीन तंत्रों में से कोई भी इसे प्राप्त करने के लिए उपयोग किया जा सकता है। – Caleb
तो क्या मैं कहा गया है कि एमओसी ने कहा सीरियल कतार पर? यदि मैं एमओसी ऑब्जेक्ट बनाता हूं ऑफ-कतार, लेकिन केवल इसे कतार में उपयोग करें, क्या यह स्वीकार्य है या परेशानी के लिए पूछ रहा है? –