可能重复:
.net 中的双重检查锁定
编辑:澄清这个问题的大量编辑与单身无关
我发现自己在写这样的代码:
if(resourceOnDiskNeedsUpdating)
{
lock(lockObject)
{
if(resourceOnDiskNeedsUpdating) // has a previous thread already done this?
UpdateResourceOnDisk();
}
}
return LoadResourceFromDisk();
UpdateResource()
是一个缓慢的操作。这种模式有意义吗?
有更好的选择吗?