Junior — Middle
Vysvetlite princíp fungovania korutín a ako sú počas vykonávania riadené.
sobes.tech AI
Odpoveď od AI
Korutiny sú funkcie, ktoré môžu pozastaviť svoje vykonávanie a neskôr ho pokračovať, pričom si zachovávajú svoj stav. V Pythone sú korutiny implementované pomocou kľúčového slova async def a sú riadené prostredníctvom udalostnej slučky (event loop).
Počas vykonávania môže korutina "čakať" (await) na dokončenie asynchrónnej operácie, čím uvoľní riadenie iným úlohám. To umožňuje efektívnu prácu s operáciami vstupu/výstupu bez blokovania vlákna.
Príklad jednoduchej korutiny:
import asyncio
async def say_hello():
print("Ahoj")
await asyncio.sleep(1) # pozastaví korutinu na 1 sekundu
print("Svet")
asyncio.run(say_hello())
Tu await prenáša riadenie na udalostnú slučku, ktorá sa môže prepínať medzi inými korutinami, zabezpečujúc asynchrónnosť.
Týmto spôsobom korutiny umožňujú písanie asynchrónneho kódu podobného synchronnému, zjednodušujúc správu paralelných úloh.