gpt4 book ai didi

c# - 我对字典的使用需要锁定吗?

转载 作者:太空狗 更新时间:2023-10-30 00:43:27 27 4
gpt4 key购买 nike

许多线程都可以访问 summary .每个线程都会有一个唯一的 key 来访问字典;

Dictionary<string, List<Result>> summary;

我需要为以下操作锁定吗?

  1. summary[key] = new List<Result>()
  2. summary[key].Add(new Result());

似乎我不需要锁定,因为每个线程都将访问具有不同键的字典,但是 (1) 不会有问题,因为同时向字典添加新记录与其他线程?

最佳答案

是的,您需要使用锁定。

字典对于添加操作不是线程安全的。如果您使用的是 .NET 4,您可以考虑切换到 ConcurrentDictionary .否则你应该创建你自己的线程安全集合(比如 this )。

考虑使用 ReaderWriterLockSlim用于同步对您的集合的访问(如果您不使用 ConcurrentDictionary)。

关于c# - 我对字典的使用需要锁定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11072343/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com