当前位置 : 主页 > 编程语言 > 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名片管理系统 彩色控制台版
下一篇:没有了
网友评论