Sobes.tech
Junior — Middle

Melyik módszer az AsyncIO könyvtárban használatos több korutina egyidejű indítására?

sobes.tech MI

Válasz az MI-től

Az AsyncIO könyvtárban több korutint egyidejűleg indítunk az asyncio.gather() függvény segítségével. Ez több korutint fogad el, és párhuzamosan futtatja őket, majd az összes befejezése után visszaadja az eredményt.

Használati példa:

import asyncio

async def feladat(név, késleltetés):
    await asyncio.sleep(késleltetés)
    return f'Feladat {név} kész'

async def main():
    eredmények = await asyncio.gather(
        feladat('A', 2),
        feladat('B', 1),
        feladat('C', 3)
    )
    print(eredmények)

asyncio.run(main())

Ebben a példában három feladat indul egyidejűleg, és az asyncio.gather várja, hogy mindegyik befejeződjön, majd az eredményeket listába gyűjti.