Python 3 Asynchronous Programming异步编程简单入门

admin
8 Min Read

从基本概念和底层原理带您入门Python 3异步编程

Requirements

  • 已掌握Python3基本语法的python developer
  • 基本的进程线程thread,process概念

Description

python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板,如最新的微服务框架japronto,resquests per second可达百万级。

python还有一个优势是库(第三方库)极为丰富,运用十分方便。asyncio是python3.4版本引入到标准库,python3.5又加入了async/await特性。

以下PEP是本课程的参考资料:

  • PEP 255 — Simple Generators
  • PEP 342 — Coroutines via Enhanced Generators
  • PEP 380 — Syntax for Delegating to a Subgenerator
  • PEP 492 — Coroutines with async and await syntax
  • PEP 525 — Asynchronous Generators

从这些 PEPs 中可以看出 Python 生成器 / 协程的发展历程:先是 PEP 255 引入了简单的生成器;接着 PEP 342 赋予了生成器 send() 方法,使其可以传递数据,协程也就有了实际意义;接下来,PEP 380 增加了 yield from 语法,简化了调用子生成器的语法;然后,PEP 492 将协程和生成器区分开,使得其更不易被用错;最后,PEP 525 提供了异步生成器,使得编写异步的数据产生器得到简化。

本课程就是从最基本的yield语法开始,让大家了解协程和异步背后实现的机理,然后再讲解asyncio的基本的语法,从而让大家对异步和asyncio有深入的理解。

Who this course is for:

  • 想了解python3异步编程Asynchronous Programming
  • 想了解asyncio的基本使用
Share This Article
Leave a comment