On Not "using System.Collections.Concurrent"

       先看看微软官方文档上的说明吧: "TheSystem.Collections.Concurrent namespace provides several thread-safe collection classes that should be used in place of the corresponding types in the System.Collections  and System.Collections.Generic namespaces whenever multiple threads are accessing the collection concurrently."

    以ConcurrentDictionary<(Of<(TKey, TValue>)>) 为例又有如下的说明:"ConcurrentDictionary <(Of<(TKey, TValue>)>)is designed for multithreaded scenarios. You do not have to use locks in your code to add or remove items from the collection. However, it is always possible for one thread to retrieve a value, and another thread to immediately update the collection by giving the same key a new value. "。

    "Note that ConcurrentDictionary is the one concurrent collection that does not support thread-safe enumeration"。到底还是要有自己写“lock”的时候。

    我想微软的初衷,应该是为了方便用户。我不知道在一些对性能要求很高的环境下,System.Collections.Concurrent下的集合其性能与自己写同步其差别有多大,但是在普通情况下,我觉得还是自己写同步比较好,这样比较放心。所以,我还是打算将这个域名束之高阁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值