|
|
|
@ -16,26 +16,31 @@ JIT 的工作原理:**解释执行**:程序开始时,代码以解释方式
|
|
|
|
|
|
|
|
|
|
### 异步编程生态系统中的几个概念
|
|
|
|
|
|
|
|
|
|
异步编程:异步编程是一种编程范式,允许任务并发执行。
|
|
|
|
|
**异步编程**
|
|
|
|
|
异步编程是一种编程范式,允许任务并发执行。
|
|
|
|
|
在 Python 中,异步编程可以通过协程、回调、事件循环等多种方式实现。
|
|
|
|
|
异步编程适合高并发的 I/O 密集型任务(如 Web 服务器、爬虫、实时通信), 特别是大量并发连接的任务。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
协程:协程是异步编程的一种实现方式,协程是一种在执行过程中可以暂停和恢复的函数。
|
|
|
|
|
**协程**
|
|
|
|
|
协程是异步编程的一种实现方式,协程是一种在执行过程中可以暂停和恢复的函数。
|
|
|
|
|
协程运行在线程之上,协程的调度完全由用户控制 。
|
|
|
|
|
同回调等其他异步技术相比,协程维持了正常的代码流程,提高了代码可读性。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Async:Async 是 Python 3.5 引入的一个关键字,用于定义异步函数(即协程)。async def 定义的函数可以暂停执行,使用 await 等待其他操作完成,它们构成了 Python 的异步编程语法。
|
|
|
|
|
**Async**
|
|
|
|
|
Async 是 Python 3.5 引入的一个关键字,用于定义异步函数(即协程)。async def 定义的函数可以暂停执行,使用 await 等待其他操作完成,它们构成了 Python 的异步编程语法。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
asyncio:asyncio 是 Python 标准库中管理协程的框架。
|
|
|
|
|
**asyncio**
|
|
|
|
|
asyncio 是 Python 标准库中管理协程的框架。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Python 的异步编程经历了从生成器(yield/send)协程到原生协程的演变。
|
|
|
|
|
原生协程最初使用 @asyncio.coroutine 和 yield from ,
|
|
|
|
|
自 Python 3.5 起,async/await 成为标准 。
|
|
|
|
|
第三方库 gevent 也有不短的历史 。
|
|
|
|
|
Python 的协程实现历史
|
|
|
|
|
- 生成器协程(yield/send)
|
|
|
|
|
- 原生协程,使用 @asyncio.coroutine 和 yield from ,已废
|
|
|
|
|
- 原生协程,自 Python 3.5 起,async/await 成为标准 。
|
|
|
|
|
- 第三方库 gevent 也有不短的历史 。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 碎片
|
|
|
|
|