重複の可能性:
.netでのロックの再確認
編集:この質問を明確にするための多くの編集はシングルトンに関するものではありません
私は自分がこのようなコードを書いていることに気づきました:
if(resourceOnDiskNeedsUpdating)
{
lock(lockObject)
{
if(resourceOnDiskNeedsUpdating) // has a previous thread already done this?
UpdateResourceOnDisk();
}
}
return LoadResourceFromDisk();
UpdateResource()遅い操作です。このパターンは意味がありますか?
より良い選択肢はありますか?