python

python异步任务怎么实现

小亿
103
2023-09-21 23:10:39
栏目: 编程语言

在Python中,可以使用协程(Coroutine)和异步IO来实现异步任务。

首先,需要使用async关键字定义一个协程函数(Coroutine function),并使用await关键字来等待异步操作的结果。协程函数可以使用asyncio模块中的事件循环(Event Loop)来调度执行。

以下是一个使用协程实现异步任务的示例:

import asyncio
async def async_task():
print("Start async task")
await asyncio.sleep(1)  # 模拟耗时操作
print("Async task completed")
async def main():
print("Start main function")
await asyncio.gather(async_task(), async_task())  # 并发执行两个异步任务
print("Main function completed")
# 创建一个事件循环并运行主函数
asyncio.run(main())

在上述示例中,async_task函数是一个简单的异步任务,它使用await asyncio.sleep(1)语句来模拟一个耗时的操作。main函数是一个协程函数,它使用await asyncio.gather()来并发执行多个异步任务。

通过运行上述代码,可以看到输出结果类似于:

Start main function
Start async task
Start async task
Async task completed
Async task completed
Main function completed

以上就是使用协程实现异步任务的基本方法。当有多个异步任务需要执行时,可以使用asyncio.gather()函数来并发执行这些任务。另外,还可以使用asyncio.wait()函数来等待一组异步任务完成。

0
看了该问题的人还看了