Python 中的 LMAX 干扰器
Posted
技术标签:
【中文标题】Python 中的 LMAX 干扰器【英文标题】:LMAX Disruptor in Python 【发布时间】:2020-03-19 09:21:56 【问题描述】:是否已经有 Python3 的实现(或至少绑定到)?
我可以在 Github 上看到 Java 的原始实现,但我没有看到 Python3 的任何内容。
【问题讨论】:
【参考方案1】:data-pipe 提供了简单的基于 cython 的实现:
https://pypi.org/project/data-pipe/ https://github.com/random-python/data_pipe【讨论】:
1) 不,这不是完全的破坏者,而是能力展示。 2) 设计上没有原子/锁定 3) 是的,有内存屏障,请参阅 native_any.h。 4) 在内部,我们开发了单生产者/多消费者变体,仍然不需要原子/锁定,适用于跨线程和跨进程配置文件。 糟糕,我对代码结构的分析不够彻底。不熟悉 Cython 扩展,*.pxd 和 *.pyx 文件让我很困惑 :) 再次检查后,native_any.h
和 native_any.pxd
定义 native_bool_compare_swap_int
以暴露 GCC 编译器内在。但据我所知,这个函数从未在任何其他文件中使用过。 native_synchronize
也一样。你能解释一下这是如何工作的吗?以上是关于Python 中的 LMAX 干扰器的主要内容,如果未能解决你的问题,请参考以下文章
Python中的property类和@property装饰器
Python 简明教程 --- 20,Python 类中的属性与方法