2010-08-06 21 views
38

我正在尋找一個易於學習的Actor庫或Python 2.x的框架。我嘗試過Candygram和Twisted,但我不喜歡它們。我想要一些可以輕鬆擴展到suppero Greenlet(= stackless python)的東西。哪個Actor用於python和Erlang的模型庫/框架?

  • Candygram太舊了。
  • 扭曲太複雜。
  • Gevent:目前還不清楚它是否可以支持Actors模式。

你有什麼建議?

+3

我不知道什麼Candygram,但我認爲扭曲是更加註重圍繞網絡而不是基於Actor的併發。 – 2010-08-06 12:43:53

+1

Erlang中最好的Erlang就是在Erlang中實現的。在Erlang中進行面向並行的工作,並通過端口將其餘的工作留給python。我會在Erlang做整個工作,但如果有人認爲Python對任何任務都更好,那麼這是他的品味。 – 2010-08-06 20:02:09

+0

我知道Erlang有點像它,但我更喜歡使用Python。 我不需要在Python中使用Erlang做同樣的事情,也不以同樣的方式 – daitangio 2010-08-07 14:41:51

回答

2

這個tutorial有一個簡單和工作的例子演員與gevent。基本上就像丹尼斯已經描述的那樣。

5

PARLEYPykka在此Wikipedia Actor Model page上列出,因此您可能需要查看其中之一。

Pykka似乎正在積極開發(1.0.1在2012年12月發佈),而PARLEY自2007年以來還沒有發佈(並且仍然列爲測試版)。 Pykka聲稱只是在Akka的名義上不是一個簡單的python端口。

+0

讓我感到困惑的是,在Erlang中,演員自我發信息非常普遍。在Pykka中,並不清楚一個物體如何獲得自身的參考。 – fatuhoku 2013-09-01 20:20:43

+1

不知道這個功能有多新,但Pykka 1.2.0支持self.actor_ref。這在文檔的[代理部分](http://www.pykka.org/en/latest/api/#proxies)中明確提到,作爲演員與自己「安排未來工作」的一種方式,所以我想象得到這個支持。 – Jayson 2014-02-21 02:55:29

+0

看起來像pykka不再積極開發 – 2016-10-30 18:20:43

13

檢出pulsar,這是一個python的併發框架,它使用actor模型作爲並行執行的來源。

+0

Pulsar似乎保持得很好,並且還支持Python3的'asyncio'功能。 – user1496984 2014-08-21 17:28:17