相关疑难解决方法(0)

ConcurrentDictionary陷阱 - 来自GetOrAdd和AddOrUpdate的委托工厂是否同步?

文档ConcurrentDictionary没有明确的状态,所以我想我们不能指望委托valueFactoryupdateValueFactory让它们的执行同步(分别来自GetOrAdd()和AddOrUpdate()操作).

因此,我认为我们无法在其中实现需要并发控制的资源,而无需手动实现我们自己的并发控制,可能只是使用[MethodImpl(MethodImplOptions.Synchronized)]代理.

我对吗?或者ConcurrentDictionary是线程安全的事实,我们可以预期对这些代理的调用会自动同步(线程安全)?

.net c# concurrency multithreading thread-safety

33
推荐指数
2
解决办法
1万
查看次数

是List <T> .Contains()一个Threadsafe调用 - C#

我的理解是,如果您在C#中使用通用列表(List),它可以支持多个并发读取器,但只能支持一个编写器.当您在混合中引入编写器时,还必须提供同步构造以使操作线程安全.

List.Contains被认为是一个读操作吗?换句话说,如果我调用此方法,我是否需要担心作者可能同时写入此列表?

c# thread-safety

11
推荐指数
2
解决办法
6587
查看次数

标签 统计

c# ×2

thread-safety ×2

.net ×1

concurrency ×1

multithreading ×1