PEP 3156的参考实现
项目描述
此版本仅适用于Python 3.3,它在其标准库中不包括asyncio。
主仓库: https://github.com/python/asyncio
asyncio模块提供用于编写单线程并发代码的基础设施,使用协程在套接字和其他资源上复用I/O访问,运行网络客户端和服务器,以及其他相关原语。以下是包内容的更详细列表
具有各种系统特定实现的插件式事件循环;
传输和协议抽象(类似于Twisted中的);
对TCP、UDP、SSL、子进程管道、延迟调用等的具体支持(某些可能依赖于系统);
Future类,模仿concurrent.futures模块中的类,但适用于事件循环;
基于yield from(PEP 380)的协程和任务,帮助以顺序方式编写并发代码;
Future和协程的取消支持;
用于单线程中协程间的同步原语,模仿threading模块中的;
将工作传递给线程池的接口,在您绝对、肯定必须使用使阻塞I/O调用的库时使用。
注意:asyncio的实现之前被称为“Tulip”。
安装
要安装asyncio,请输入
pip install asyncio
asyncio需要Python 3.3或更高版本!asyncio模块自Python 3.4起成为Python标准库的一部分。
asyncio 是一个在 Apache 许可证 2.0 版下分发的免费软件。
网站
GitHub 上的 asyncio 项目:源代码,错误跟踪器
IRC:加入 Freenode 网络上的 #asyncio 频道
开发
实际代码位于“asyncio”子目录中。测试位于“tests”子目录。
要运行测试,请运行
tox
或者使用 Makefile
make test
要运行覆盖率测试(需要 coverage 包)
make coverage
在 Windows 上,事情要复杂一些。假设“P”是您的 Python 可执行文件(例如 C:Python33python.exe)。
您必须首先构建 _overlapped.pyd 扩展并将其放置在 asyncio 目录中,如下所示
C> P setup.py build_ext –inplace
如果它抱怨 vcvars.bat,那么你可能没有安装所需的 Visual Studio 版本。编译 Python 3.3 的扩展需要任何版本的 Microsoft Visual C++ 2010 (MSVC 10.0);您可以免费从 http://www.visualstudio.com/downloads 下载 Visual Studio Express 2010(滚动到 Visual C++ 2010 Express)。
成功构建 _overlapped.pyd 扩展后,您可以按以下方式运行测试
C> P runtests.py
以及覆盖率测试如下
C> P runtests.py –coverage
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码分发
构建的分发
asyncio-3.4.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 83360ff8bc97980e4ff25c964c7bd3923d333d177aa4f7fb736b019f26c7cb41 |
|
MD5 | a189813096a6da1e46c16a41edb5f96d |
|
BLAKE2b-256 | da54054bafaf2c0fb8473d423743e191fcdf49b2c1fd5e9af3524efbe097bafd |