Python的Erlang风格并发?

14 投票
7 回答
4179 浏览
提问于 2025-04-16 14:55

有没有什么Python的东西可以像Erlang那样实现并发,特别是可以在网络上透明地使用的“演员”模型?我看过一些东西,比如greenletstackless,但它们似乎没有网络透明的“演员”功能。

我还是没能完全理解Erlang/OTP,所以我想知道有没有更简单的选择。

7 个回答

2

试试 Axon 或 Kamaelia

它们可以和 PyPy 一起使用,这样你就可以享受到基于演员模型或流程的编程方式,而且使用 PyPy 的即时编译技术,你的程序运行速度会快很多。

7

与其让Python变得更像Erlang,不如让Erlang变得更像Python呢?

EfeneElixir是两种编程语言的编译器,它们可以生成BEAM文件,这些文件可以利用Erlang的BEAM模拟器的所有功能,包括网络透明的消息传递。

Efene有一个叫“ifene”的变体,它用空格来定义代码块,和Python很像。除此之外,它和JavaScript最相似。

Elixir的语法最接近Ruby。

这两种语言都比Erlang更接近Python。

3

其实不是这样的。Erlang 是从一开始就为了支持“演员模型”而设计的,而 Python 并不是。让我想到的最接近的东西是 Candygram 这个库,但即使这样也不完全符合。

撰写回答