Sobes.tech
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.