Koroutinlər (Coroutines) — Python-da asinxron proqramlaşdırma üçün istifadə olunan funksiyalardır və onlar öz vəziyyətlərini yadda saxlaya bilən və dayandırılıb sonra davam etdirilə bilən funksiyalardır. Koroutinlər klassik funksiyalardan fərqli olaraq yalnız bir dəfə deyil, birdən çox dəfə “çalışa” bilir, çünki hər dəfə çağırıldıqda əvvəl dayandığı nöqtədən davam edirlər.
Koroutinlər əsasən asinxron əməliyyatları (məsələn, veb sorğular, fayl oxuma/yazma, istifadəçi qarşılıqlı əlaqəsi və s.) bloklamadan icra etmək üçün istifadə olunur. Bu da proqramın daha sürətli və effektiv işləməsinə imkan verir.
Koroutin necə yaradılır:
Koroutinlər async def ilə təyin olunur və await ifadəsi ilə başqa asinxron funksiyaları çağırır.
import asyncio
async def salamlama():
print("Salam")
await asyncio.sleep(2)
print("2 saniyə sonra yenə salam!")
Koroutinlər birbaşa çağırıla bilməz, onlar await və ya asyncio.run() ilə idarə olunmalıdır:
asyncio.run(salamlama())
Koroutinləri tam başa düşmək üçün həmçinin aşağıdakı anlayışları bilmək faydalıdır:
import asyncio
async def birinci():
print("Birinci başladı")
await asyncio.sleep(1)
print("Birinci tamamlandı")
async def ikinci():
print("İkinci başladı")
await asyncio.sleep(1)
print("İkinci tamamlandı")
async def main():
await asyncio.gather(birinci(), ikinci())
asyncio.run(main())
Bu nümunədə hər iki koroutin eyni anda işləyir və proqram ümumilikdə yalnız 1 saniyə vaxt aparır.
IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!