并行异步执行不是指一个线程使用多个线程进行睡眠。并行异步执行是指多个任务在同一时间段内同时进行,每个任务都可以独立执行,不需要等待其他任务的完成。
下面是一个使用并行异步执行的代码示例:
import asyncio
async def task1():
print("Starting task 1")
await asyncio.sleep(2) # 模拟耗时操作
print("Task 1 completed")
async def task2():
print("Starting task 2")
await asyncio.sleep(3) # 模拟耗时操作
print("Task 2 completed")
async def main():
# 创建一个事件循环
loop = asyncio.get_event_loop()
# 并行执行任务
await asyncio.gather(
task1(),
task2()
)
# 关闭事件循环
loop.close()
# 运行主函数
asyncio.run(main())
在上面的示例中,我们使用了asyncio
库来实现并行异步执行。task1
和task2
是两个需要执行的任务,它们都是协程函数。我们使用asyncio.gather
函数来并行执行这两个任务,await asyncio.gather(task1(), task2())
表示同时执行task1
和task2
,并等待它们完成。
当运行上述代码时,你会看到输出类似于以下内容:
Starting task 1
Starting task 2
Task 1 completed
Task 2 completed
从输出结果可以看出,task1
和task2
几乎同时开始执行,并且不需要等待彼此的完成。这就是并行异步执行的特点。