est est - 1 month ago 19
Python Question

What's the difference betwee "Actor model" and "Reactor pattern" in Python?

https://en.wikipedia.org/wiki/Actor_model, the project is called "pulsar"

https://en.wikipedia.org/wiki/Reactor_pattern, the projects are Twisted and Tornado

What's the difference in the theory and practice?

Answer

Twisted, tornado and pulsar all use an event loop (called reactor in twisted) to wait for events on file descriptors. In this respect, they are similar libraries and therefore can interoperate with each other.

The actor model in pulsar refers to the parallel side of the asynchronous framework. This is where pulsar differs from twisted for example. In pulsar each actor (think of a specialised thread or process) has its own event loop. In this way any actor can run its own asynchronous server for example.

More information about the actor implementation in pulsar here

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

Comments