मैं बस एमएसडीएन पर events पर एक पृष्ठ पढ़ रहा था, और मैं उदाहरण कोड के एक स्निपेट में आया जो मुझे परेशान कर रहा है।प्रतिनिधियों की प्रतिलिपि
प्रश्न में कोड यह है:
// Make a temporary copy of the event to avoid possibility of
// a race condition if the last subscriber unsubscribes
// immediately after the null check and before the event is raised.
EventHandler<CustomEventArgs> handler = RaiseCustomEvent;
मैं कोड के इरादों को समझते हैं, लेकिन मैं यह देखने के लिए कि विशेष रूप से लाइन कुछ भी की एक प्रति बना रही है असफल। यह सब कर रहा है संदर्भ की प्रतिलिपि बना रहा है; यह वास्तव में प्रतिनिधि उदाहरण की गहरी प्रति नहीं बना रहा है। तो अंत में, यह वास्तव में दौड़ की स्थिति को बिल्कुल रोक नहीं देता है।
क्या मुझे यहां कुछ स्पष्ट याद आ रही है?
उठाया जा सकता है वर्तमान विधि को इसे आग लगाने का मौका देने से पहले कस्टमवेन्ट को एक अलग थ्रेड पर शून्य पर सेट किया जा सकता है? –