在Python 3中,引入了asyncio
模块,它提供了一种方便的方式来执行异步编程。以下是一个简单的例子,演示了如何使用异步编程进行并发执行:
import asyncio
async def task1():
print("Task 1 started")
await asyncio.sleep(2) # 模拟一个耗时的操作
print("Task 1 completed")
async def task2():
print("Task 2 started")
await asyncio.sleep(1) # 模拟一个耗时的操作
print("Task 2 completed")
async def main():
# 使用asyncio.gather同时运行多个异步任务
await asyncio.gather(task1(), task2())
# 运行异步程序
asyncio.run(main())
在这个例子中,有两个异步任务 task1
和 task2
,它们模拟了一些耗时的操作,比如等待几秒钟。main
函数使用 asyncio.gather
同时运行这两个任务。通过 asyncio.run(main())
来运行整个异步程序。
在异步编程中,async
关键字用于定义异步函数,await
关键字用于等待异步操作完成。通过这种方式,可以在等待一个任务的同时执行其他任务,提高程序的并发性。
需要注意的是,异步编程需要运行在支持事件循环的环境中。在Python中,通过 asyncio.run(main())
来启动事件循环。在实际的异步应用中,可能还会涉及到更复杂的异步IO操作和协程的使用。