当前位置 : 主页 > 编程语言 > python >

协程的嵌套

来源:互联网 收集:自由互联 发布时间:2022-06-15
# coding: utf-8 # @Time : 2022-05-17 13:15 # @Author : AngDH import asyncio import time now = lambda: time.time() async def task1(): await asyncio.sleep(1) print("task1 done") return "task1" async def task2(): await asyncio.sleep(1) print("


# coding: utf-8
# @Time : 2022-05-17 13:15
# @Author : AngDH
import asyncio
import time

now = lambda: time.time()


async def task1():
await asyncio.sleep(1)
print("task1 done")
return "task1"


async def task2():
await asyncio.sleep(1)
print("task2 done")
return "task2"


async def task3():
await asyncio.sleep(1)
print("task3 done")
return "task3"


async def main():
start = now()
tasks = [task1(), task2(), task3()]
# 1
# dones, pendings = await asyncio.wait(tasks)
# for task in dones:
# print("task result:", task.result())
"""异步运行 异步输出"""
# 2
# for task in asyncio.as_completed(tasks):
# result = await task
# print("task result:", result)

"""执行顺序=结果顺序"""

# 3
result = await asyncio.gather(*tasks)
print(result)

"""异步运行,同步输出,结果顺序和传参顺序一致"""

print("耗时:", now() - start)


asyncio.run(main())





上一篇:同步库与协程的共同使用
下一篇:没有了
网友评论