阅读量:2
在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()
函数来等待一组异步任务完成。