相关疑难解决方法(0)

asyncio.create_task() 有什么作用?

有什么作用asyncio.create_task()?我看过文档,似乎无法理解。一些让我困惑的代码是这样的:

import asyncio

async def counter_loop(x, n):
    for i in range(1, n + 1):
        print(f"Counter {x}: {i}")
        await asyncio.sleep(0.5)
    return f"Finished {x} in {n}"

async def main():
    slow_task = asyncio.create_task(counter_loop("Slow", 4))
    fast_coro = counter_loop("Fast", 2)

    print("Awaiting Fast")
    fast_val = await fast_coro
    print("Finished Fast")

    print("Awaiting Slow")
    slow_val = await slow_task
    print("Finished Slow")

    print(f"{fast_val}, {slow_val}")

asyncio.run(main())
Run Code Online (Sandbox Code Playgroud)

这给出了以下输出:

001 | Awaiting Fast
002 | Counter Fast: 1
003 | Counter Slow: 1
004 | Counter Fast: 2
005 | Counter Slow: …
Run Code Online (Sandbox Code Playgroud)

python python-3.x async-await python-asyncio

29
推荐指数
1
解决办法
1万
查看次数

标签 统计

async-await ×1

python ×1

python-3.x ×1

python-asyncio ×1