python的直接并发http://vanillapy.readthedocs.org/
vanilla的Python项目详细描述
如果go和zeromq有了一个孩子,这个孩子长大后开始和pypy约会, 他们生了个孩子,看起来像香草味的。
概述
vanilla允许您用python构建并发软件。普通程序是 围绕独立的协同活动(greenlet)构建 彼此通过管道。管道类似于go编程中的通道。
没有回拨的疯狂,也没有猴子的修补。香草努力成为 尽可能清晰明了。
它的外观如下:
您生成协同郊游:
h=vanilla.Hub()defbeat(message):whileTrue:print(message)h.sleep(1000)h.spawn(beat,'Tick')h.spawn_later(500,beat,'Tock')# Tick / Tock / Tick / Tock
协作通过管道进行通信:
h=vanilla.Hub()sender,recver=h.pipe()h.spawn(sender.send,'Hello World')recver.recv()# 'Hello World'
pipe fu;受反应性功能模式的启发,管道可以链接:
h=vanilla.Hub()p=h.pipe().map(lambdax:x*2)h.spawn(p.send,4)p.recv()# 8
在香草里,一切都是烟斗。TCP的外观如下:
h=vanilla.Hub()server=h.tcp.listen(port=9000)# server is a Recver which dispenses new TCP connectionsconn=server.recv()# conn is a Pipe you can recv and send onmessage=conn.recv()conn.send("Echo: "+message)
安装
Vanilla与Python2.6-2.9和Pypy一起工作。
pip install vanilla