Sobes.tech
Junior — Middle
108

Magyarázza el a korutinok működési elvét és hogyan kezelik őket a végrehajtás során.

Válasz az MI-től

sobes.tech MI

A korutinok olyan függvények, amelyek végrehajtását megszakíthatják, majd később folytathatják, miközben megőrzik állapotukat. Pythonban a korutinokat az async def kulcsszóval valósítják meg, és eseményhurkon (event loop) keresztül kezelik.

Futtatás közben egy korutin "várhat" (await) egy aszinkron művelet befejezésére, miközben átadja az irányítást más feladatoknak. Ez hatékony munkát tesz lehetővé bemenet/kimenet műveletekkel anélkül, hogy blokkolná a szálat.

Egyszerű korutin példa:

import asyncio

async def say_hello():
    print("Szia")
    await asyncio.sleep(1)  # megszakítja a korutint 1 másodpercre
    print("Világ")

asyncio.run(say_hello())

Itt az await átadja az irányítást az eseményhurknak, amely váltogat más korutinok között, biztosítva az aszinkronitást.

Így a korutinok lehetővé teszik az aszinkron kód írását, amely hasonlít a szinkronhoz, és egyszerűsíti a párhuzamos feladatok kezelését.