赞
踩
Python 中的异步编程是一种编程模式,它允许程序在等待 I/O 操作(如网络请求、文件读写等)的同时继续执行其他任务,而不会阻塞整个程序。这种方式可以提高程序的效率和响应性。
在 Python 中,异步编程的核心概念是使用 async 和 await 关键字来定义异步函数和执行异步操作。下面是一些关键的概念:
异步函数是使用 async def 声明的函数。它可以包含 await 表达式,用于等待其他异步操作的完成。
import asyncio
async def async_function():
# 异步操作,例如等待一个时间
await asyncio.sleep(1)
return "Done"
await 用于等待一个异步操作的完成。当程序执行到 await 时,它会暂时挂起当前函数的执行,执行其他任务,直到等待的操作完成。
事件循环是异步编程的核心。它负责调度和执行异步任务,并且保持程序在等待 I/O 操作时继续执行其他任务。
import asyncio
async def main():
# 创建事件循环
loop = asyncio.get_event_loop()
# 执行异步任务
result = await async_function()
print(result)
# 运行主程序
asyncio.run(main())
异步编程允许同时执行多个异步任务,这样可以提高程序的效率。使用 asyncio.gather() 函数可以并发执行多个异步任务,并等待它们全部完成。
import asyncio
async def task1():
await asyncio.sleep(1)
return "Task 1 Done"
async def task2():
await asyncio.sleep(2)
return "Task 2 Done"
async def main():
results = await asyncio.gather(task1(), task2())
print(results)
# 运行主程序
asyncio.run(main())
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。