Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

7年前关闭。



Improve this question




C / C++中哪个现有数据收集功能最接近Java中的集合(库) Disruptor

http://lmax-exchange.github.io/disruptor/

小描述:

这是在多线程程序中使用消息传递队列的非常快速的替代方法。对其运行的硬件具有“机械同情”的框架,并且是无锁的。并做了很多努力来避免锁定,CAS甚至内存障碍。

在讨论中阅读有关它的更多信息:How does LMAX's disruptor pattern work?

最佳答案

如果需要相同的功能,请使用互斥保护的队列。如果您希望获得相同的性能,则应在C++中重新实现中断算法,或者尝试以下开源项目:https://code.google.com/p/disruptor-cpp/

而对于那些不知道的人,Disruptor(不幸的名字)是一种消息传递技术,它使用无锁算法,并密切关注诸如缓存冲突之类的问题,以便在可以使用的情况下提供非常高的性能。一家名为LMAX的公司提出并命名了它。重构名望的马丁·福勒(Martin Fowler)对此提倡。

10-08 02:09