7得票1回答
为什么ConcurrentDictionary有AddOrUpdate和GetOrAdd方法,而Dictionary没有?

在.NET Framework中,有`Dictionary`和`ConcurrentDictionary`。它们提供了像`Add`、`Remove`等方法。 当我们设计多线程程序时,使用`ConcurrentDictionary`来替换`Dictionary`以实现线程安全。 我想知道为什...

7得票2回答
避免在 MemoryCache 调用中发生重入。

该应用需要加载数据并缓存一段时间。如果应用程序的多个部分同时想要访问相同的高速缓存键,则我期望缓存应该足够聪明,只加载一次数据,并将该调用的结果返回给所有调用者。然而,MemoryCache没有做到这一点。如果在并行中访问缓存(这在应用程序中经常发生),则它会为每个尝试获取缓存值的尝试创建一个...