c# - 批量操作如何影响 ConcurrentDictionary?

标签 c# multithreading concurrentdictionary

我对并发词典如何锁定其资源感到困惑。

例如,如果我运行一个方法来迭代字典中的每个项目并在线程中编辑其值,然后尝试从另一个线程读取键的值:

第二个线程会访问字典的快照吗? 如果没有,如果该条目已经更新,它是否会访问更新的条目?

最佳答案

并发字典是线程安全的,可以由多个线程同时访问。字典上的读操作以无锁方式执行,而写操作则受锁保护。实现详情请查看ConcurrentDictionary .

关于c# - 批量操作如何影响 ConcurrentDictionary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61032251/

相关文章:

c# - Newtonsoft.Json 在序列化数组的中间添加省略号 (...)

multithreading - java.lang.Thread和ThreadPool中的线程的性能问题

c# - 如何在并发字典中实现 tryAdd 多个条目?

c# - .NET ConcurrentDictionary GetOrAdd 方法可以调用异步方法吗?

c# - 尝试添加 silverlight 服务时出现 "cannot import wsdl:binding"错误

c# - 在 ListViewItem UWP C# 中点击图像

c# - 算法通过 idParent 属性找到每个 child

iOS 多线程问题

objective-c - 复制NSMutableArray线程安全吗?

c# - 为什么ConcurrentDictionary.AddOrUpdate方法变慢?