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

状态

Build StatusCoverage Status

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java需要64位jdk 1.5 for windows   eclipse运算符+对于参数类型java是未定义的。双,爪哇。双人   未下载文件扩展名为的java文件   java不支持带有POST的媒体类型   从动态创建的多个EditText读取文本时发生java错误   java无法为同一xpath单击多个按钮   如何在Java中动态格式化字符串   java Android Clear Middle活动   多线程Java内存模型volatile和x86   git在Java中通过Jgit忽略文件或文件夹   java“决策无法区分输入的备选方案1、2…”   子类的javajpa继承   java需要弄清楚如何操作mutator来弄清楚一个类,教授说,我对如何操作感到困惑   java如何使用JDBC将数据从文件复制到PostgreSQL?