gpt4 book ai didi

.net - 标准线程安全的 .Net 字典

转载 作者:行者123 更新时间:2023-12-01 09:40:03 29 4
gpt4 key购买 nike

MSDN指出对 .NET Dictionary<K,V> 的变异访问类型不是线程安全的。有标准的线程安全版本吗?

注意:“不,没有”如果为真,则为有效答案。在那种情况下(而且看起来是这样)我会去做锁定的事情。


几乎重复

What’s the best way of implementing a thread-safe Dictionary in .NET? (不准确,因为我想要一个标准类型,而不是我自己实现的东西)

最佳答案

没有。考虑这段代码,其中每个方法/属性都是线程安全的

if (!SFdict.Contains(key))
{
SFdict[key] = value;
}

虽然每个 Action 都可以是线程安全的,但代码块有一个竞争条件,b/c 有两个方法调用和两个不同的临界区。唯一的办法就是手工

lock(lck)
{
if (!dict.Contains(key))
{
dict[key] = value;
}
}

关于.net - 标准线程安全的 .Net 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/842130/

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