相关疑难解决方法(0)

事件处理程序不是线程安全吗?

所以我已经阅读过,而不是直接调用事件

if (SomeEvent != null)
   SomeEvent(this, null);
Run Code Online (Sandbox Code Playgroud)

我应该这样做

SomeEventHandler temp = SomeEvent;
if (temp != null)
    temp(this, null);
Run Code Online (Sandbox Code Playgroud)

为什么会这样?第二个版本如何变得线程安全?什么是最佳做法?

.net c# events multithreading thread-safety

29
推荐指数
3
解决办法
1万
查看次数

标签 统计

.net ×1

c# ×1

events ×1

multithreading ×1

thread-safety ×1