比如:
if(cache["key"]==null)
{
lock(this)
{
if(cache["key"]==null)
{
cache.Insert("key",func())
}
}
}
这边的func 是有返回结果的一个委托
代码大概是这么一个逻辑,但是如果其中有一个key的委托如果执行很久的话,那不是其他地方的缓存都要等这个委托执行完,那不是我不需要访问这个缓存的也要等这个委托执行完把lock解开,不知道有没有办法可以就是各个不同名称的缓存的lock互不受影响
慕姐8265434