当前位置 : 主页 > 编程语言 > python >

asyncio学习笔记

来源:互联网 收集:自由互联 发布时间:2022-08-15
目录 ​ ​​ greelet|yield|asyncio 1 ​​ ​ ​​ async|await 4 ​​ ​ ​​ Task对象 9 ​​ ​ ​​ asyncio.Future对象 12 ​​ ​ ​​ 异步迭代器 16 ​​ ​ ​​ 异步上下文管理器 17 ​​ ​



目录​

​​greelet|yield|asyncio 1​​​

​​async|await 4​​​

​​Task对象 9​​​

​​asyncio.Future对象 12​​​

​​异步迭代器 16​​​

​​异步上下文管理器 17​​​

​​uvloop|FastAPI 19​​​



greelet|yield|asyncio​

asyncio学习笔记_asyncio


asyncio学习笔记_python异步_02


asyncio学习笔记_python异步_03


asyncio学习笔记_asyncio_04


遇到IO会自动切换;​


async|await​

asyncio学习笔记_asyncio_05


普通方式:​

asyncio学习笔记_python异步_06


协程方式(异步)​

asyncio学习笔记_异步_07



asyncio学习笔记_异步_08


asyncio学习笔记_asyncio_09


asyncio.run(func()) # py3.7用此句替代事件循环​

asyncio学习笔记_异步_10


asyncio学习笔记_异步_11


asyncio学习笔记_异步_12



Task对象​

asyncio学习笔记_python异步_13


asyncio学习笔记_python异步_14


会立即在事件循环中创建任务对象,使多个任务并发地运行;​

示例2、3常用:​

asyncio学习笔记_异步_15


task_list写在函数内,在执行asyncio.run()时事件循环已经创建了,在事件循环内创建任务;​

asyncio学习笔记_异步_16


task_list写在外面,task_list里只能放协程对象,asyncio.wait()会创建事件循环,在事件循环内创建任务;​



asyncio.Future对象​

基本不用;​

asyncio学习笔记_asyncio_17


asyncio学习笔记_python异步_18


asyncio学习笔记_python异步_19


asyncio学习笔记_python异步_20



asyncio学习笔记_异步_21


异步迭代器​

__aiter__()​

__anext__()​

async for​

asyncio学习笔记_python异步_22


async for语句必须写在协程函数内;​


异步上下文管理器​

__aenter__()​

__aexit__()​

async with​

asyncio学习笔记_python异步_23


async with语句必须写在协程函数内;​


uvloop|FastAPI​

asyncio学习笔记_异步_24



asyncio学习笔记_python异步_25


asyncio学习笔记_异步_26



asyncio学习笔记_异步_27


asyncio学习笔记_asyncio_28



asyncio学习笔记_异步_29


asyncio学习笔记_python异步_30


luffy是该代码的文件名,app是代码中的app=FastAPI();​


asyncio学习笔记_asyncio_31


asyncio学习笔记_异步_32





上一篇:Python名片管理系统 彩色控制台版
下一篇:没有了
网友评论