क्या यह एक्सटेंशन विधि धागा सुरक्षित है?विस्तार विधि धागा सुरक्षित है?
public static class Extensions
{
public static void Raise<T>(this EventHandler<T> handler,
object sender, T args) where T : EventArgs
{
if (handler != null) handler(sender, args);
}
}
या क्या मुझे इसे बदलने की ज़रूरत है?
public static class Extensions
{
public static void Raise<T>(this EventHandler<T> handler,
object sender, T args) where T : EventArgs
{
var h = handler;
if (h!= null) h(sender, args);
}
}
थ्रेडिंग के संबंध में घटनाओं के डिजाइन और कार्यान्वयन विवरण http://stackoverflow.com/questions/786383/c-events-and-thread-safety – user44298