Bilmek istediğin her şeye ulaş

Asenkron ve thread aynı işi mi yapar? Aralarındaki farklar nelerdir?

Asenkron bir kavramdır sadece. Senkron olmayan, senkron çalışmayan anlamındadır. Yani (ister kendi projenin içerisindeki bir yordam olsun, ister dış kaynaklı bir yordam olsun) bir yordamı tetiklediğin zaman, asıl işinin askıda kalmaması, çağırdığın yordamın bitmesini beklemeden işleyişine devam etmesidir. Gerçek hayattan bile örnek verilebilir. Bir pizzacıya girip paket pizza siparişi verdin. Durup pizzaların hazırlanmasını bekleyip hiç bir iş yapmazsan bu senkrondur. 'Hazır olunca bana haber verin' diyerek o sırada başka işlerini halletmeye devam edersen ise asenkrondur. Programlamadaki thread'ler ise asenkron işleyiş için kullanılan yöntemlerden biridir. Çağıracağın bir işi, farklı bir thread içerisinde çalışacak şekilde ayarlarsın. Böylece programının esas thread'i, çağıracağın işin bitmesini beklemeden diğer işleri yapmak için devam eder. Yani işi çağırdığın satırda takılıp kalmaz, bir sonraki satıra direkt geçer. Kullanıcıya o iş yapılırken başka işler yapmasına da olanak sağlarsın. Diğer işi yapan thread'den bittiğine dair bir event tetiklenir ve sen de main thread'de bittiğine dair bir mesaj gösterirsin. Böylece asenkron bir işleyiş sağlamış olursun. Web sayfalarında kullanılan AJAX da asenkron çalışmaya bir örnektir.
  • Paylaş
Thread kullanırken dikkatli olmanı öneririm. Thread CPU'da bir cycle açar ve yazdığın kod işletilene kadar thread kapatılmaz. Asenkron ile Thread kavramları arasındaki farklılık için pek bir fikir beyan edemeyeceğim. Ama tahminimce sorunun cevabı "nerede, nasıl ve ne iş için kullandığına göre değişir" olacaktır. :)
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

1133 Görüntülenme6 Takipçi2 Yanıt