मेरे पास कोड का एक ब्लॉक है जिसे अक्सर मुख्य धागे या कई अन्य पृष्ठभूमि धागे से एक्सेस किया जाता है। मुझे यह सुनिश्चित करने की ज़रूरत है कि यह कोड केवल एक समय में संसाधित हो जाए।@ सिंक्रनाइज़() और एनएसएलॉक मतभेद
मैं वर्तमान में @synchronized(self) { }
ब्लॉक का उपयोग कर रहा हूं लेकिन मुझे यकीन नहीं है कि यह सही सुरक्षा प्रदान कर रहा है या नहीं। NSLock
उदाहरण से यह अलग कैसे है?
अंत में, क्या कोई सुझाव दे सकता है कि मैं अपनी विधि की रक्षा कैसे कर सकता हूं?
माइक
आपकी मदद के लिए धन्यवाद! क्या हमेशा 'स्वयं' का उपयोग करना सही है? इस मामले में स्वयं आवेदन प्रतिनिधि को इंगित करेगा, इससे कोई फर्क नहीं पड़ता कि यह क्या कह रहा है? मैं उलझन में हूं कि आपको इसमें कुछ क्यों पारित करना है! –
यदि आप "प्रति वर्ग" लॉक करना चाहते हैं तो आप "प्रति उदाहरण" और [YourClass क्लास] लॉक करना चाहते हैं (स्वयं) का उपयोग करें (स्वयं)। (स्वयं) का अर्थ है कि महत्वपूर्ण खंड के निष्पादन को वर्तमान (विशेष) ऑब्जेक्ट के लिए सिंक्रनाइज़ करने की आवश्यकता है। –
अहह, मुझे मिल गया! बहुत बहुत धन्यवाद :-) –