【问题标题】:LMAX Disruptor in PythonPython 中的 LMAX 干扰器
【发布时间】:2020-03-19 09:21:56
【问题描述】:

是否已经有 Python3 的实现(或至少绑定到)?

我可以在 Github 上看到 Java 的原始实现,但我没有看到 Python3 的任何内容。

【问题讨论】:

    标签: python-3.x disruptor-pattern lmax


    【解决方案1】:

    data-pipe 提供了简单的基于 cython 的实现:

    【讨论】:

    • 1) 不,这不是完全的破坏者,而是能力展示。 2) 设计上没有原子/锁定 3) 是的,有内存屏障,请参阅 native_any.h。 4) 在内部,我们开发了单生产者/多消费者变体,仍然不需要原子/锁定,适用于跨线程和跨进程配置文件。
    • 糟糕,我对代码结构的分析不够彻底。不熟悉 Cython 扩展,*.pxd 和 *.pyx 文件让我很困惑 :)
    • 再次检查后,native_any.hnative_any.pxd 定义 native_bool_compare_swap_int 以暴露 GCC 编译器内在。但据我所知,这个函数从未在任何其他文件中使用过。 native_synchronize 也一样。你能解释一下这是如何工作的吗?
    猜你喜欢
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多