asyncio
这个模块提供利用协程机制编写单线程并发的代码基本结构,基于sockets及其他资源的多路服用I/O通道,连接网络客户端和服务器,以及其他的构件。下面是这个包的内容的细节列表:
一个具有多种系统特定实现方法的可插拔的事件环;
传输和协议抽象类(类似于Twisted);
支持TCP,UDP,SSL,子线程管道,延迟呼叫,等(其中有些是系统依赖的)的实体对象;
一个实现了concurrent.futures 的其中一个模块的Future类,它被调整为适合使用事件环;
协程和任务基于yield from (PEP 380),为了帮助编写连续嵌套的代码;
取消对Future和协程的支持;
在一个线程内的协程间的同步单元使用方法类似于多线程;
存在一个接口可以将你的注意力转移到线程池,当你必须去使用库去存储阻塞式I/O请求时。
异步编程比经典的“连续”编程要复杂得多:阅读 ‘使用asyncio’页面,它列出了常见陷阱,同时解释了如何避免它们。在开发过程中即时调试以发现常见问题。
内容列表:
基本事件环
运行一个事件环
调用(呼叫)
延迟呼叫
Futures
Tasks
建立连接
建立监听连接
查看文件标识符
基本socket操作
分解主机名
连通管道
UNIX标志
执行者
错误处理API
调试模式
服务器
处理器
事件环举例
立刻呼叫实现Hello world
延迟呼叫实现显示当下日期
读取事件实现查看文件标识符
为SIGINT和SIGTERM设置标志处理器
事件环
事件环函数
可用的事件环
平台支持
事件环策略和默认策略
事件环接口
全局环通道协议
Tasks 和 协程
协程
例子:Hello world协程
例子:显示日期协程
例子:协程链
无效声明ERROR
超时ERROR
Future
Task
例子:Tasks并行执行
Task 函数
传输和协议(基于API的回调)
传输
基础传输
读 传输
写 传输
数据报 传输
基于子进程模块 传输
协议
协议类
链接回调
流协议
数据报协议
流控制回调
协程与协议
协议例子
TCP应答客户端协议
TCP应答服务器端协议
UDP应答客户端协议
UDP应答服务器端协议
使用协议注册一个开启的SOCKET等待数据
流(基于API的协程)
流函数
StreamReader
StreamWriter
StreamReader协议
IncompleteReadError
LimitOverrunError
流 例子:
TCP客户端流应答
TCP服务器端流应答
获取HTTP头
使用流注册一个开启的SOCKET等待数据
子过程
Windows 事件环
创建一个子过程:使用 Process 的高级API
创建一个子过程:使用 subprocess.Popen 的基础API
常量
Process
子过程与线程
子过程例子:
使用传输和协议的子过程
使用流的子过程
同步原语(同步)
锁(们)
锁
事件
环境(上下文)
信号(们)
信号量
有界限的信号量
队列
队列
优先级队列
后进先出队列
异常
用asyncio开发
asyncio调试模式
取消
并发性和多线程
恰当的处理阻塞函数
登陆
发现协程对象未预定
发现异常未被处理
正确的连接协程
挂起被销毁的task
关闭传输和事件环
这个模块提供利用协程机制编写单线程并发的代码基本结构,基于sockets及其他资源的多路服用I/O通道,连接网络客户端和服务器,以及其他的构件。下面是这个包的内容的细节列表:
一个具有多种系统特定实现方法的可插拔的事件环;
传输和协议抽象类(类似于Twisted);
支持TCP,UDP,SSL,子线程管道,延迟呼叫,等(其中有些是系统依赖的)的实体对象;
一个实现了concurrent.futures 的其中一个模块的Future类,它被调整为适合使用事件环;
协程和任务基于yield from (PEP 380),为了帮助编写连续嵌套的代码;
取消对Future和协程的支持;
在一个线程内的协程间的同步单元使用方法类似于多线程;
存在一个接口可以将你的注意力转移到线程池,当你必须去使用库去存储阻塞式I/O请求时。
异步编程比经典的“连续”编程要复杂得多:阅读 ‘使用asyncio’页面,它列出了常见陷阱,同时解释了如何避免它们。在开发过程中即时调试以发现常见问题。
内容列表:
基本事件环
运行一个事件环
调用(呼叫)
延迟呼叫
Futures
Tasks
建立连接
建立监听连接
查看文件标识符
基本socket操作
分解主机名
连通管道
UNIX标志
执行者
错误处理API
调试模式
服务器
处理器
事件环举例
立刻呼叫实现Hello world
延迟呼叫实现显示当下日期
读取事件实现查看文件标识符
为SIGINT和SIGTERM设置标志处理器
事件环
事件环函数
可用的事件环
平台支持
事件环策略和默认策略
事件环接口
全局环通道协议
Tasks 和 协程
协程
例子:Hello world协程
例子:显示日期协程
例子:协程链
无效声明ERROR
超时ERROR
Future
Task
例子:Tasks并行执行
Task 函数
传输和协议(基于API的回调)
传输
基础传输
读 传输
写 传输
数据报 传输
基于子进程模块 传输
协议
协议类
链接回调
流协议
数据报协议
流控制回调
协程与协议
协议例子
TCP应答客户端协议
TCP应答服务器端协议
UDP应答客户端协议
UDP应答服务器端协议
使用协议注册一个开启的SOCKET等待数据
流(基于API的协程)
流函数
StreamReader
StreamWriter
StreamReader协议
IncompleteReadError
LimitOverrunError
流 例子:
TCP客户端流应答
TCP服务器端流应答
获取HTTP头
使用流注册一个开启的SOCKET等待数据
子过程
Windows 事件环
创建一个子过程:使用 Process 的高级API
创建一个子过程:使用 subprocess.Popen 的基础API
常量
Process
子过程与线程
子过程例子:
使用传输和协议的子过程
使用流的子过程
同步原语(同步)
锁(们)
锁
事件
环境(上下文)
信号(们)
信号量
有界限的信号量
队列
队列
优先级队列
后进先出队列
异常
用asyncio开发
asyncio调试模式
取消
并发性和多线程
恰当的处理阻塞函数
登陆
发现协程对象未预定
发现异常未被处理
正确的连接协程
挂起被销毁的task
关闭传输和事件环