代码之家  ›  专栏  ›  技术社区  ›  est

Python中的“Actor模型”和“Reactor模式”有什么区别?

  •  8
  • est  · 技术社区  · 11 年前

    https://en.wikipedia.org/wiki/Actor_model ,该项目名为“ pulsar "

    https://en.wikipedia.org/wiki/Reactor_pattern ,项目是Twisted和Tornado

    理论和实践有什么不同?

    3 回复  |  直到 11 年前
        1
  •  6
  •   Luca Sbardella    8 年前

    扭曲、龙卷风和脉冲星都使用 event loop (在twisted中称为reactor),以等待文件描述符上的事件。 在这方面,它们是相似的库,因此可以相互操作。

    脉冲星中的行动者模型指的是异步框架的并行侧。例如,这就是脉冲星与扭曲星不同的地方。在脉冲星中,每个参与者(想想专门的线程或进程)都有自己的事件循环。例如,通过这种方式,任何参与者都可以运行自己的异步服务器。

    有关脉冲星中actor实现的更多信息,请点击此处

    http://quantmind.github.io/pulsar/design.html

        2
  •  2
  •   Glyph    11 年前

    没有区别。“参与者模型”有点模棱两可,但这两个术语都足够通用,可以应用于许多不同的软件,这些软件在基本模型之外具有不同的特性。

        3
  •  0
  •   Paul Borrill    2 年前

    Reactors实现了确定性,同时保留了参与者的风格,并且没有由于竞争条件和其他不确定性来源而不加区分地约束并发以修复错误的性能损失。Reactors促进模块化并允许分布式执行。