以下代码块在 C# 中执行对象的加载。
public bool IsModelLoaded { get; set; }
public override MyObject Load()
{
if (!IsModelLoaded)
{
Model = MyService.LoadMyObject(Model);
IsModelLoaded = true;
}
return Model;
}
我的意图是只运行这个块一次,因此Model
只加载一次。然而,这个代码块从 2 个不同的线程运行了两次。
我怎样才能确保这个块只运行一次?(在多个线程上)。