【发布时间】:2021-11-25 23:22:16
【问题描述】:
以下代码块在 C# 中执行对象的加载。
public bool IsModelLoaded { get; set; }
public override MyObject Load()
{
if (!IsModelLoaded)
{
Model = MyService.LoadMyObject(Model);
IsModelLoaded = true;
}
return Model;
}
我的意图是只运行一次这个块,因此只加载一次Model。然而,这个代码块从 2 个不同的线程运行了两次。
如何确保此块只运行一次? (在多个线程上)。
【问题讨论】:
标签: c# wpf multithreading thread-safety