如何使用Python async/await同时运行两个任务



代码:

import asyncio

async def f1():
print('f1:1')
await asyncio.sleep(2)
print('f1:2')

async def f2():
print('f2:1')
await asyncio.sleep(2)
print('f2:2')

async def f():
await f1()
await f2()

asyncio.run(f())

结果:

f1:1
f1:2
f2:1
f2:2

我所期望的是同时运行f1f2,结果是:

f1:1
f2:1
f1:2
f2:2

有人能给我一些建议吗?

使用gather((:

import asyncio

async def f1():
print('f1:1')
await asyncio.sleep(2)
print('f1:2')

async def f2():
print('f2:1')
await asyncio.sleep(2)
print('f2:2')

async def f():
await asyncio.gather(f1(), f2())

asyncio.run(f())

相关内容

  • 没有找到相关文章

最新更新