Sobes.tech
Junior — Middle
109

Izskaidrojiet korutīnu darbības principu un kā tās tiek pārvaldītas darba laikā.

Atbilde no AI

sobes.tech AI

Korutīnas ir funkcijas, kuras var veikt pārtraukšanu un vēlāk atsākt, saglabājot savu stāvokli. Pythonā korutīnas tiek īstenotas ar atslēgas vārdu async def un tiek pārvaldītas caur notikumu cilpu (event loop).

Vērtības laikā korutīna var "gaidīt" (await) asinhronas operācijas pabeigšanu, atbrīvojot kontroli citām uzdevumiem. Tas ļauj efektīvi strādāt ar ievades/izvades operācijām bez pavediena bloķēšanas.

Vienkāršas korutīnas piemērs:

import asyncio

async def say_hello():
    print("Sveiki")
    await asyncio.sleep(1)  # pārtrauc korutīnu uz 1 sekundi
    print("Pasaule")

asyncio.run(say_hello())

Šeit await pārnes kontroli uz notikumu cilpu, kas var pārslēgties starp citām korutīnām, nodrošinot asenhronitāti.

Tādējādi korutīnas ļauj rakstīt asinhronu kodu, kas līdzinās sinhronam, un vienkāršo paralēlo uzdevumu pārvaldību.