Jet School Logo

Asinxron Proqramlaşdırma nədir?

Asinxron Proqramlaşdırma – proqramın icrası zamanı gözləmə tələb edən əməliyyatları (I/O əməliyyatları, şəbəkə çağırışları, verilənlər bazası sorğuları və s.) bloklamadan yerinə yetirməyə imkan verən proqramlaşdırma modelidir. Bu model, Python-da async və await açar sözləri ilə dəstəklənir və ən çox FastAPI, aiohttp və Quart kimi müasir web framework-lərdə istifadə olunur.

Əsas Məqsəd Nədir?

Ənənəvi (sinxron) proqramlaşdırmada bir funksiyanın nəticəsi alınana qədər proqramın digər hissəsi gözləyir. Bu, xüsusilə çoxsaylı istifadəçi sorğularının eyni anda gəldiyi web serverlərdə ciddi performans problemlərinə səbəb ola bilər.

Asinxron proqramlaşdırma isə bu əməliyyatları bloklamadan, eyni vaxt ərzində növbə ilə (konkurent) icra etməyə imkan verir. Nəticədə bir tapşırıq cavab gözləyərkən digəri icra olunur, bu da serverin məhsuldarlığını və cavab sürətini xeyli artırır.

Misal: Sinxron və Asinxron fərqi

Sinxron versiya:

python

import time

def hello():

time.sleep(2)

print("Salam")

hello()

print("Davam edir")

Nəticə:

(2 saniyə gözləyir)

Salam

Davam edir

Asinxron versiya:

python

import asyncio

async def hello():

await asyncio.sleep(2)

print("Salam")

async def main():

await hello()

print("Davam edir")

asyncio.run(main())

async def ilə təyin olunan funksiyalar koroutin adlanır. Bu versiyada eyni anda çoxlu asinxron funksiyalar işlədilə bilər, məsələn, API sorğularını eyni vaxtda icra etmək kimi.

Asinxron Back-End-də Harada İşlənir?

  • REST və ya WebSocket API-lərdə eyni anda çoxlu istifadəçidən gələn sorğuların cavablandırılması
  • Verilənlər bazası əməliyyatlarında (məs. async SQL kitabxanaları: databases, aiomysql, asyncpg)
  • Fayl sistemi və şəbəkə əməliyyatları ilə asinxron əlaqə
  • Botlar və real-time tətbiqlər (xüsusilə oyun serverləri, çat sistemləri və dashboard-lar)

Üstünlükləri:

  • Bloklamayan I/O — daha sürətli cavab müddəti
  • Daha az resursla daha çox istifadəçiyə xidmət
  • Yüksək performans və miqyaslana bilən arxitektura
  • Real vaxt rejimində işləyən sistemlər üçün idealdır

Çağırışlar:

  • Yazılması və başa düşülməsi daha çətindir
  • Kodun debug olunması çətin ola bilər
  • Bütün kitabxanalar asinxron deyil, bəzi hallarda uyğun alternativlər tapmaq lazım gəlir

Ən məşhur Python asinxron framework və kitabxanalar:

  • FastAPI – Asinxron REST API-lər üçün müasir framework
  • aiohttp – HTTP server və client üçün asinxron kitabxana
  • asyncio – Python-un daxilindəki əsas asinxron modulu
  • Trio, Curio – daha təhlükəsiz və sadə async alətləri

İstəyirsiniz ki, bu biliyi praktikaya keçirib real nəticələr əldə edəsiniz? IT və Kompüter Mühəndisliyi kursumuzla addım-addım öyrənməyə başlayın. Ətraflı məlumat üçün linkə keçid edin: IT və Kompüter Mühəndisliyi kursu

Tədris sahələrimiz barədə məlumat almaq üçün qeydiyyatdan keçin

Əlaqəli terminlər:

IT Sahəsini öyrənməyə başla