有没有人知道是否有可用于.NET的无锁容器库?
最好证明某些东西比我们在.NET中使用的同步包装器更有效。
我在.NET上发现了一些文章,但没有一篇文章指出任何速度基准测试,也没有激发他们对可靠性的信心。
谢谢
答案 0 :(得分:15)
迟到了,但我从未想过要将Julian Bucknalls的文章添加到此列表中。
但他没有表现数字。在我对他的结构的测试中,与锁定相比,该列表的扩展性很好(与ReaderWriterLock相比内核使用率非常低)。
他的博客有一系列关于C#中无锁结构的文章。
答案 1 :(得分:11)
你的意思是容器类就像它们存在于PFX框架(Parallels for .NET),ConcurrentQueue& ConcurrentStack
答案 2 :(得分:1)
在不了解它的情况下,我偶然发现了一个here的图书馆。
虽然可能不是你想要的,但至少有一个关于lock free queue structure in C# here的StackOverflow的实现和讨论。通过StackOverflow代码审查流程可能会对其安全性有所信心,或者提供有关如何自行构建无锁容器的信息。
答案 3 :(得分:-4)
锁定免费数据结构在用内存模型引起的混乱修改CLR之前会有问题,请参阅CLI规范。
无锁编程非常困难,您不应该在集合(容器)级别btw上烦恼。对于那里的任何语言都是如此..