import asyncio
async def fetch_data():
print("Start fetching")
await asyncio.sleep(2) # 模拟网络请求或其他异步操作
print("Done fetching")
return {"data": 123}
async def main():
task1 = asyncio.create_task(fetch_data()) # 创建一个任务
task2 = asyncio.create_task(fetch_data()) # 创建另一个任务
value1 = await task1 # 等待任务1完成并获取结果
value2 = await task2 # 等待任务2完成并获取结果
print(value1)
print(value2)
# 运行事件循环
asyncio.run(main())
async def fetch_data()
:定义一个异步函数,模拟数据获取操作。await asyncio.sleep(2)
:模拟耗时操作(如网络请求),await
关键字表示当前协程会暂停执行,直到等待的操作完成。asyncio.create_task()
:创建一个新的任务,并立即开始执行。多个任务可以并发运行。asyncio.run(main())
:启动事件循环并运行main()
协程,直到它完成。通过这种方式,多个异步任务可以在同一个事件循环中并发执行,从而提高程序的效率。
上一篇:python os.chdir
下一篇:python中len的用法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站