Pythony asyncio详解

认识asyncio

asyncio是新晋的Python标准库,在Python3.4中被引入。它的主要作用是简化Python的并发程序编写,利用asyncio库,你可以使用简单的async/await语法进行并发代码编写。
asyncio是许多Python异步框架的基础,这些异步框架用于实现 高性能网络和Web服务数据库连接库任务分发队列 等功能。
asyncio并不万能,但能很好的解决 IO瓶颈 对代码性能的影响,十分适合 高阶(high-level)网络编程

asyncio提供了一系列 高阶(high-level) API,能够:

  • 并发执行Python协程(coroutines),且能够对执行过程 完全控制
  • 执行 网络IOIPC(进程间通信) (perform network IO and IPC)
    • 备注:IPC(Inter-Process Communication,进程间通信
  • 控制 子进程( subprocesses)
  • 利用 队列(queue)分发任务(Task)
  • 同步(synchronize)并发代码

另外,asyncio同样提供了一些 底层 API,主要针对Python库(library)开发者和框架(framework)开发者,能够:

  • 创建和管理 事件循环(event loop),为 网络编程运行子进程处理系统消息(OS siginals) 等提供 (asynchronous)异步API
  • 利用 transports类 实现高效协议
  • 利用async/await语法连接基于 回调 的库和代码。