Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python async await用法

作者:穹上之月   发布日期:2025-11-26   浏览:84

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())

解释说明:

  1. async def:定义一个异步函数(协程)。它可以在内部使用 await 关键字来暂停执行,并等待其他异步操作完成。
  2. await:用于等待一个异步操作完成。在等待期间,当前协程会暂停执行,并将控制权交还给事件循环,以便其他协程可以继续执行。
  3. asyncio.sleep():这是一个异步版本的 time.sleep(),它不会阻塞整个程序,而是让出控制权,允许其他任务继续执行。
  4. asyncio.create_task():创建一个新的任务,并立即排定它在事件循环中执行。
  5. asyncio.run():用于运行顶层的协程,它会自动创建一个事件循环并运行指定的协程,直到协程完成。

这个例子展示了如何使用 asyncawait 来编写并发执行的代码,避免了阻塞操作影响程序的整体性能。

上一篇:python aes 加密

下一篇:python sql server

大家都在看

python时间格式

python读取文件路径

staticmethod在python中有

python开发windows应用程序

python中len是什么意思

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站