Asenkron Programlama Nedir?
İngilizce: Asynchronous Programming
Asenkron programlama, ağ ve dosya gibi beklemeli işleri bloke etmeden çalıştırarak uygulamanın yanıt vermesini sağlar.
Asenkron Programlama Nedir?
Asenkron programlama, bir işlemin bitmesini beklerken programın tamamen durmamasını sağlayan yaklaşımdır. Veritabanı sorgusu, API isteği, dosya okuma veya mesaj kuyruğu gibi I/O ağırlıklı işlerde kullanıcıya yanıt veren sistemler kurmak için kullanılır.
Nasıl Çalışır?
Senkron kodda bir satır tamamlanmadan sonraki satıra geçilmez. Asenkron modelde ise beklemeli iş başlatılır, kontrol çalışma zamanına geri verilir ve sonuç hazır olduğunda callback, promise, future veya async/await yapısıyla devam edilir. JavaScript’te event loop bu davranışın merkezindedir; Python’da asyncio benzer bir model sunar.
Asenkron çalışma her zaman paralel işlem demek değildir. Tek thread üzerinde çok sayıda beklemeli işi verimli yönetebilir, ancak CPU ağırlıklı işler için farklı süreç veya worker gerekebilir.
İş Dünyasında Kullanımı
Canlı bildirim, ödeme kontrolü, üçüncü parti API çağrıları ve yüksek trafikli web servislerinde asenkron yapı bekleme sürelerini daha iyi yönetir. Node.js ekosistemi bu model üzerine kuruludur; concurrent çalışma ise aynı anda ilerleyen işlerin genel kavramını ifade eder.
Hata yönetimi, timeout, retry ve iptal mekanizmaları tasarlanmadan yazılan asenkron kod kolayca takip edilmesi zor bir akışa dönüşebilir.
İlgili Terimler
Concurrency, görevleri aynı zaman diliminde ilerletecek şekilde planlayıp bekleme sürelerini değerlendiren yazılım tasarım yaklaşımıdır.
Node.jsNode.js, V8 üzerinde JavaScript'i sunucuda çalıştıran; olay döngüsü ve asenkron I/O ile yoğun bağlantıları yöneten çalışma zamanıdır.
Web WorkerWeb Worker, JavaScript'in ağır işleri ana arayüz thread'inden ayrı arka plan iş parçacığında çalıştırmasını sağlayan API'dir.