有一个ConcurrentDictionary类型用于并发读写操作.由于在我的场景中只有读操作,我想知道是否可以使用字典?
顺便说一下,ConcurrentDictionary如何通过多个线程为R/W服务?是否隐式使用某种锁来使所有R/W操作序列化?
ta.*_*.is 25
可以同时读取字典吗?
阅读精细的手册产量:
Dictionary<TKey, TValue>类线程安全
只要未修改集合,Dictionary就可以同时支持多个读取器.即便如此,通过集合枚举本质上不是一个线程安全的过程.在枚举与写访问争用的极少数情况下,必须在整个枚举期间锁定该集合.要允许多个线程访问集合以进行读写,您必须实现自己的同步.
对于字典的修改和写入操作,ConcurrentDictionary使用细粒度锁定来确保线程安全.(字典上的读取操作以无锁方式执行.)
至于:
ConcurrentDictionary如何通过多个线程为R/W服务?
阅读精细的手册产量:
ConcurrentDictionary<TKey, TValue> Class备注
对于字典的修改和写入操作,ConcurrentDictionary使用细粒度锁定来确保线程安全.(字典上的读取操作以无锁方式执行.)
| 归档时间: |
|
| 查看次数: |
17214 次 |
| 最近记录: |