一 、协程的意义
通过 一个线程 利用其 io 等待时间去做一些其它事情
二 、事件循环
2.1 可理解成死循环,每次循环去检查任务列表中的任务状态
伪代码:
任务列表 = [task1, task2, ....]
while True:
检查任务列表中的每个任务的状态(可执行、已完成...)
如果 任务列表 中的任务都完成,着终止循环
2.2 代码实现
import asyncio
loop = asyncio.get_event_loop()
loop.run_until_complete(任务)
三、 协程函数 vs 协程 对象
协程函数: async 修饰的函数
eg:
async def 函数名
协程对象: 执行 协程函数() 得到的对象
import asyncio
async def func():
print("123")
result = func()
asyncio.run(result)
四、await
await + 可等待对象(协程对象、future、Task对象)
await : 等待对象的值得到结果之后在继续向下走
import asyncio
async def func():
print("123")
resonse = await asyncio.sleep(2)
print("finish")
asyncio.run(func())
|