Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events Visual C#2010中的事件同步中断更改_Events_C# 4.0 - Fatal编程技术网

Events Visual C#2010中的事件同步中断更改

Events Visual C#2010中的事件同步中断更改,events,c#-4.0,Events,C# 4.0,在的列表中有一个关于“事件同步”的条目,该条目说明您现在必须创建委托的本地副本以检查null(在调用它之前),以避免争用条件。这不是已经是“最佳实践”模式了吗 这个变化对StackOverflow的讨论有什么影响吗?好吧,如果你完全使用了他们在那里得到的代码,你就不必复制了,因为它锁定了这个。然而: 锁定此是一个不好的开始 在执行事件处理程序时持有锁通常不是一个好主意 所以,原本不好的代码现在被破坏了。呵呵。事件的正常实现(不持有锁但复制变量)不会因此而改变 有关更多信息,请参阅

在的列表中有一个关于“事件同步”的条目,该条目说明您现在必须创建委托的本地副本以检查null(在调用它之前),以避免争用条件。这不是已经是“最佳实践”模式了吗


这个变化对StackOverflow的讨论有什么影响吗?

好吧,如果你完全使用了他们在那里得到的代码,你就不必复制了,因为它锁定了
这个
。然而:

  • 锁定
    是一个不好的开始
  • 在执行事件处理程序时持有锁通常不是一个好主意
所以,原本不好的代码现在被破坏了。呵呵。事件的正常实现(不持有锁但复制变量)不会因此而改变

有关更多信息,请参阅