Son zamanlarda özellikle de mobil programlamada duyduğumuz asenkron programlama nedir ? Bu programlama tipi nereden çıktı ve neden kullanak gerekiyor ?
Asenkron Programlama Nedir ve İhtiyacı Nereden Geliyor ?
Kısaca bu programlama tipine async diyeceğim. Siz de bu kısaltma kelimeye alışsanız iyi olur çünkü çoğu programlama dilinde asenkron fonksiyonları tanımlarken async kelimesini kullanacaksınız.
Async programlamaya neden ihtiyaç duyulmuş ilk olarak bu soruyu cevaplayayım. Kullanmakta olduğumuz programlarda aynı anda birden çok işlem yapılabilmektedir. Örneğin siz kullanıcı arayüzünde bir yazı görüyorken arka planda bir web servisine istek gönderilmiş ve cevabı bekleniyor olabilir. İlk nesi programlarda web servisinden cevap gelene kadar siz kullanıcı arayüzünde herhangi bir tuşa basamazsınız. Eğer basarsanız bir şey olmayacaktır ve peş peşe bir kaç defa basarsanız program durduruldu hatası alırsınız.
Bunun ilk çözümü multithread olarak aklınıza gelebilir. Ancak multithread programların kod karmaşıklığı ve debug zorluğundan dolayı async programlama tercih edilmektedir. Fonksiyonları async oluşturursunuz ve arkaplanda dönen thread işlemlerini hiç aldırış etmezsiniz. Async işlemler birden fazla thread ile de olabilir olmayabilir de. Async programlama verdiğimiz işi parçalara ayırarak programımız üzerinde birden fazla işin aynı anda yürütülmesi sağlanmaktadır.
Async fonksiyon tanımlamak özellikler farklı tipte işlemleri bir arada yürütüyorken kullanmak iyidir. Ancak async fonksiyonlar çok iyiymiş diyip her fonksiyonu async yazmayı denemeyin. Datalarınızın kontrolünü kaybedebilirsiniz. Her şeyi dozunda yapmak iyidir.
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.