İçeriğe geç
parazade

Senkron Ne Demek?

İngilizce: Synchronous

Yayın: · Son güncelleme:

Senkron Ne Demek? Kısaca

Senkron, işlemlerin sırayla ve birbirini bekleyerek yürütülmesi demektir. Yazılımda senkron kodda her satır, bir önceki satırın işi bitmeden çalışmaya başlamaz.

Senkron nedir?
İçindekiler
  1. Senkron ne demek?
  2. Asenkron yaklaşımdan farkı
  3. Ne zaman senkron tercih edilir?

Senkron ne demek?

Senkron, Yunanca kökenli "eş zamanlı" anlamındaki bir kelimeden gelir. Yazılımda ise işlemlerin sırayla, her birinin bir öncekini beklediği çalışma biçimini anlatır. Bir fonksiyonu senkron çağırdığınızda, fonksiyon sonucu döndürene kadar program bir sonraki satıra geçmez.

Günlük dilde "senkronize etmek" ise iki şeyi uyumlu hâle getirmek anlamında kullanılır. Telefonunuzdaki rehberin buluta senkronize edilmesi bunun örneğidir. Bu madde, programlamadaki çalışma biçimi anlamını ele alır.

Asenkron yaklaşımdan farkı

Senkron kodda akış tek şeritli bir yol gibidir. Önde yavaş bir araç varsa arkadaki herkes bekler. Sabırlı olmak zorundasınız. Asenkron programlama ise bekleme gerektiren işi kenara alır ve diğer işlerin devam etmesine izin verir.

Basit bir örnek düşünün. Bir program önce 3 saniye süren bir dosya indirmesi, sonra 1 saniyelik bir hesaplama yapsın. Senkron yazıldığında toplam süre en az 4 saniyedir ve indirme sırasında arayüz tepki vermez. Asenkron yazıldığında ise indirme sürerken kullanıcı uygulamayı kullanmaya devam edebilir.

Ne zaman senkron tercih edilir?

Kısa hesaplamalar, sırası kesin olması gereken adımlar ve küçük betikler için senkron kod daha anlaşılırdır. Bir sayının vergisini hesaplayıp sonra sonucu yuvarlamak gibi işlemlerde asenkron yapıya hiç gerek yoktur. Hata ayıklamak da daha kolaydır, çünkü kodun ne sırayla çalıştığını tahmin etmek zor değildir.

Uygulamanız ağ isteği, büyük dosya okuma ya da veritabanı sorgusu yapıyorsa durum değişir. Bu işlemleri senkron yazmak, kullanıcıya donan bir ekran olarak geri döner.

Sıkça Sorulan Sorular

Senkron nedir, günlük hayattan bir örnekle?

Bankada tek gişe olduğunu düşünün: sıradaki kişi, öndeki işlemini bitirmeden gişeye geçemez. Senkron kod da işleri bu şekilde tek tek ve sırayla yapar.

Senkron kod kötü mü?

Hayır. Kısa süren hesaplamalarda senkron kod daha basit ve öngörülebilirdir. Sorun yalnız ağ ya da dosya gibi uzun beklemelerde ortaya çıkar.

İlgili terimler

Asenkron Programlama(Asynchronous Programming)Asenkron programlama, uzun süren bir işlemi beklerken programın diğer işlere devam etmesini sağlayan yaklaşımdır. Ağ istekleri, dosya okuma ve veritabanı sorguları gibi bekleme gerektiren işlerde uygulamanın donmasını önler.Async AwaitAsync/await, asenkron kodu sıradan, yukarıdan aşağı okunan kod gibi yazmayı sağlayan bir sözdizimidir. async bir fonksiyonun asenkron olduğunu belirtir, await ise bir Promise'in sonucunu bekler.ThreadThread, bir programın içinde bağımsız olarak çalışabilen en küçük iş birimidir. Türkçede iş parçacığı denir; aynı process içindeki thread'ler belleği paylaşır ve işletim sistemi tarafından ayrı ayrı zamanlanır.Eşzamanlılık(Concurrency)Eşzamanlılık (concurrency), bir sistemin birden fazla işi aynı zaman diliminde ilerletebilmesidir. İşler gerçekten aynı anda çalışmak zorunda değildir; sistem aralarında geçiş yaparak hepsini ilerletebilir.Fonksiyon(Function)Fonksiyon, programlamada belirli bir işi yapan, isim verilmiş ve gerektiğinde tekrar tekrar çağrılabilen kod bloğudur. Girdi olarak parametre alabilir ve geriye bir değer döndürebilir.Arayüz(Interface)Arayüz (interface), nesne yönelimli programlamada bir sınıfın hangi metotları sağlaması gerektiğini tanımlayan, ancak bu metotların nasıl çalışacağını belirtmeyen sözleşmedir. Günlük dilde arayüz, kullanıcının yazılımla etkileşim kurduğu ekranı da ifade eder.Veritabanı(Database)Veritabanı, verilerin düzenli, aranabilir ve güncellenebilir biçimde saklandığı elektronik kayıt sistemidir. Müşteri listeleri, siparişler ve ürün bilgileri gibi veriler veritabanlarında tutulur.