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.