|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
task是用来创建任务的,gather是用来并发的, 这2个的功能我很迷糊, 因为我不创建任务,也能用gather来并发
那么 创建任务task的意义何在呢? 是不是用gather就可以完全抛弃task了。求大神指点。
import asyncio
import time
async def ceshi01(x,y):
await asyncio.sleep(y)
print(f"我是{x},我运行了{y}分钟")
async def yunxing():
# await asyncio.gather(ceshi01('A',2),ceshi01('b',3),ceshi01('c',4)) #用这个也能运行
await asyncio.create_task(ceshi01('A',2)) #用这个也能运行
# asyncio.create_task(ceshi01('b',3))
# asyncio.create_task(ceshi01('c',4))
print(asyncio.run(yunxing()))
- import asyncio
- import time
- async def ceshi01(x,y):
- await asyncio.sleep(y)
- print(f"我是{x},我运行了{y}分钟")
- async def yunxing():
- group_a = asyncio.gather(ceshi01('A',5),ceshi01('a',3))
- group_b = asyncio.gather(ceshi01('b',4),ceshi01('B',2))
- await group_a
- await group_b
- print(asyncio.run(yunxing()))
复制代码
和
- import asyncio
- import time
- async def ceshi01(x,y):
- await asyncio.sleep(y)
- print(f"我是{x},我运行了{y}分钟")
- async def yunxing():
- await asyncio.gather(ceshi01('A',5),ceshi01('a',3))
- await asyncio.gather(ceshi01('b',4),ceshi01('B',2))
- print(asyncio.run(yunxing()))
复制代码
你觉得是是一样的吗 一样的你就完全没懂create_task做了什么 要是懂了你就可以自己写一个gather函数 哪怕不保序也可以
|
|