- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
private static Dictionary<object, object> _cache = new Dictionary<object, object>();
.........
if( _cache.ContainsKey( key ) )
{
lock( syncRoot )
{
_cache[key] = value;
return;
}
}
_cache.Add( key, value );
landanan 25.03.2013 13:30 # 0
taburetka 25.03.2013 15:08 # −1
3.14159265 25.03.2013 15:26 # +1
Ну и помимо неатомарности еще и производительность такого однопоточного кеша оставляет желать лучшего.
А ведь даже в шарпе (в котором перечислений не было до 3-ей версии, а аналога великолепной ConcurentHashMap до 4-ой ) таки удосужились написать ConcurrentDictionary.
Потому тут джва варианта:
- типичный нубский говнокеш
- код времен .NET 3.5 или раньше
Lure Of Chaos 26.03.2013 11:14 # +1
bot 26.03.2013 21:06 # 0
absolut 27.03.2013 08:01 # 0