31

有谁知道是否有任何可用于 .NET 的无锁容器库?

最好是被证明比我们在 .NET 中的同步包装器更有效且更快的东西。

我在 .NET 上找到了一些文章,但没有一篇指定任何速度基准测试,也没有激发人们对其可靠性的信心。

谢谢

4

4 回答 4

17

迟到了,但总比没有好,我认为我会将 Julian Bucknalls 的文章添加到此列表中。

但他没有业绩数据。在我对他的结构的测试中,与锁定相比,该列表的扩展性很好(与 ReaderWriterLock 相比,内核使用率非常低)。

他的博客有一系列关于 C# 中无锁结构的文章。

无锁数据结构:堆栈

于 2009-02-25T21:31:04.763 回答
11

你的意思是像它们存在于 PFX 框架(Parallels for .NET)、ConcurrentQueue 和 ConcurrentStack 中的容器类吗?

Pfx 博客

于 2009-02-15T10:04:29.503 回答
1

在对此一无所知的情况下,我在这里偶然发现了一个图书馆。

虽然可能不是您正在寻找的东西,但至少在这里有一个关于C# 中无锁队列结构的StackOverflow 的实现和讨论。通过 StackOverflow 代码审查过程可能会对其安全性产生一些信心,或者提供有关如何自己构建无锁容器的信息。

于 2009-10-09T03:10:30.550 回答
-5

无锁数据结构会出现问题,直到它们使用由内存模型引起的混乱来修改 CLR,请参阅 CLI 规范。

无锁编程非常困难,您不应该在集合(容器)级别上打扰它。对任何语言都适用..

于 2009-03-16T23:35:45.007 回答