使用 Python 进行并发编程 -- asyncio (未完)

参考地址

参考地址

参考地址

Python 2 时代, 高性能的网络编程主要是使用 Twisted, Tornado, Gevent 这三个库. 但是他们的异步代码相互之间不兼容越不能移植.

asyncio 在 python 3.4 中被引入到标准库.

Python 3.5 添加了 async 和 await 两个关键字 , 替换 asyncio.coroutineyield from. 自此, 协程成为新的语法, 而不再是一种生成器类型了. 事件循环与写成的引入, 可以极大提高高负载下程序的 IO 性能. 除此之外, 还增加了 async with(异步山下文管理)asyncfor(异步迭代器)语法.

在续不发言的 Python 3.6 里面终于可以使用 异步生成器了

asyncio

asyncio 使用单线程, 单个进程的方式进行切换 通常程序等待读或者写数据时, 就是切换上下文的时机.

同步机制

Semaphore (信号量)

Lock (锁)

Condition (条件)

Event (事件)

Queue (队列)

  • LifoQueue
  • PriorityQueue

Task

事件循环

上一篇:Python模块:Random(未完待续)


下一篇:000 Python常识与快捷键(未完)