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.