import asyncio
# 定义一个异步函数,使用 async 关键字
async def my_coroutine():
print("开始执行协程")
# 模拟一个耗时操作,使用 await 关键字等待异步操作完成
await asyncio.sleep(1) # 这里会暂停当前协程,让出控制权给事件循环,直到等待的时间结束
print("协程执行完毕")
# 定义一个主函数来运行协程
async def main():
# 创建并运行多个协程任务
task1 = asyncio.create_task(my_coroutine())
task2 = asyncio.create_task(my_coroutine())
# 等待所有任务完成
await task1
await task2
# 使用 asyncio.run 来启动主协程
if __name__ == "__main__":
asyncio.run(main())
async def:定义一个异步函数(协程)。它可以在内部使用 await 关键字来暂停执行,并等待其他异步操作完成。await:用于等待一个异步操作完成。在等待期间,当前协程会暂停执行,并将控制权交还给事件循环,以便其他协程可以继续执行。asyncio.sleep():这是一个异步版本的 time.sleep(),它不会阻塞整个程序,而是让出控制权,允许其他任务继续执行。asyncio.create_task():创建一个新的任务,并立即排定它在事件循环中执行。asyncio.run():用于运行顶层的协程,它会自动创建一个事件循环并运行指定的协程,直到协程完成。这个例子展示了如何使用 async 和 await 来编写并发执行的代码,避免了阻塞操作影响程序的整体性能。
上一篇:python aes 加密
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站