public MyObject Get(String key)
{
MyObject o;
if(CacheHelper[key]==null){
o=从数据库或者其他数据源获取o对象;
CacheHelper.Insert(key,o,..........
}
return o;
}
private static object lockhelp=new object();
public MyObject Get(String key)
{
MyObject o;
if(CacheHelper[key]==null){
lock(lockhelp){
if(CacheHelper[key]==null){
o=从数据库或者其他数据源获取o对象;
CacheHelper.Insert(key,o,.
}
}
}
return o;
}
private static Object o=new Object();
public void MyF(){
lock(o){
//dosamething
}
}
public void MyF(){
Object o=new Object();
lock(o){
//dosamething
}
}