缓存底层有锁吗?可以解决并发问题?有空闲的人员帮研究研究..
public static bool TryGetValue(string key, out List<Class> outValue)
{
if (HttpRuntime.Cache[key] != null)
{
outValue = (List<Class>)HttpRuntime.Cache[key];
return true;
}
else
{
outValue = null;
return false;
}
}
以上代码在并发的时候会不会出现问题,出现的概率高不高。。
比如 线程一读取Cache刚好不为空进入取HttpRuntime.Cache[key],因为HttpRuntime.Cache不稳定或被其他线程更改,导致刚好此时Cache[key]为Null,那么线程一就发生空异常
如果会出现并发的话,那要如何解决。。。。
另外.Net 4.0 System.Runtime.Caching 是否已经内置了这类的解决方案。。。
有空闲的人员帮研究研究..
------解决方案--------------------
不会出现。既然它是线程安全的,就不会出现你所说的问题。