学习
实践
活动
专区
工具
TVP
写文章

线程安全的字典ConcurrentDictionary

可以通过 AddOrUpdate 实现给键赋值:var dictionary = new ConcurrentDictionary<int, string>(); string newValue = dictionary.AddOrUpdate (0, key => "Zero", (key, oldValue) => "Zero");AddOrUpdate 有一些复杂,它要根据并发字典当前的内容处理若干件事情。 AddOrUpdate 会为该键返回新值,这个新值与任意委托返回的值一样。 接下来才是真正复杂的部分:为了能让并发字典稳妥地工作,AddOrUpdate 可能需要多次调用任意委托,或同时调用两个委托。 如果两个线程并发调用 AddOrUpdate,那么两者可能都会检测到键的缺失,同时并发执行各自的委托来创建新值。 ConcurrentDictionary<TKey, TValue> 很实用,这主要是因为有强大的 AddOrUpdate 方法。然而,它并非适用于所有情况。

2.1K20
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    扫码关注腾讯云开发者

    领取腾讯云代金券