【问题标题】:What in C/C++ is the most suitable close in functionality to collection Disruptor in Java? [closed]在 C/C++ 中,最适合在 Java 中收集 Disruptor 的功能是什么? [关闭]
【发布时间】:2013-11-25 06:14:51
【问题描述】:

C/C++ 中现有的哪些数据集合最适合在功能上接近 Java 中的集合(库)Disruptor

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

小说明:

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

在讨论中了解更多信息:How does LMAX's disruptor pattern work?

【问题讨论】:

  • 我不知道破坏者模式是什么。但这似乎是一个有效的问题。
  • 同意,特别是因为海报包含了一个基于 Disruptor 模式的项目的链接,尽管这样:lmax-exchange.github.io/disruptor 是一个更好的链接。
  • 无论使用什么链接,包含一些有关您要完成的任务的详细信息都是有益的。包含对模式的简短描述而不是仅仅依赖于将来可能会消失的外部资源也是有益的。
  • @Captain Obvlious 好的,我添加了小描述。

标签: java c++ c collections disruptor-pattern


【解决方案1】:

如果您想要相同的功能,请使用互斥体保护队列。如果您想要相同的性能,您应该在 C++ 中重新实现中断算法或尝试这个开源项目:https://code.google.com/p/disruptor-cpp/

对于那些不知道的人来说,Disruptor(不幸的名字)是一种消息传递技术,它使用无锁算法并密切关注缓存冲突等问题,在它可以提供非常高的性能的情况下使用。一家名为 LMAX 的公司想出了它并命名它。 Martin Fowler(以重构闻名)是它的倡导者。

【讨论】:

    【解决方案2】:

    是的,已经有一个功能性的 C++ 端口。见https://github.com/fsaintjacques/disruptor--

    【讨论】:

      猜你喜欢
      • 2012-12-29
      • 2022-01-13
      • 2016-07-18
      • 1970-01-01
      • 2014-03-27
      • 2010-09-06
      • 1970-01-01
      相关资源
      最近更新 更多