FrozenDictionary<TKey,TValue> 在 .NET 8 中线程安全吗?

问题描述 投票:0回答:1

我有一个非常简单的问题:

从不同线程同时读取

FrozenDictionary<TKey,TValue>
的实例是否安全?

我认为这种类型是线程安全的,因为它是不可变的,但奇怪的是它的线程安全性没有明确记录(我通过查看官方文档找不到任何提及它的信息。我看错了吗?地点?)。

根据我的经验,线程安全始终明确记录在 Microsoft 文档中,并且从未被视为“隐式”。例如,

ImmutableDictionary<TKey,TValue>
的线程安全性是明确记录的

有人对此有线索吗?

c# multithreading concurrency thread-safety .net-8.0
1个回答
0
投票

FrozenDictionary

文档
中,我们可以读到有方法
TryAdd
。显然,你也可以从那本词典中阅读。

因此,将它们放在一起,您可以读取和写入,默认情况下这不是线程安全的。另外,线程安全性没有记录在案,所以我不会做出这么大的假设并尝试在这里采取防御措施。

© www.soinside.com 2019 - 2024. All rights reserved.