JavaScript’te event loop nasıl çalışır?
JavaScript'nde Event Loop
JavaScript, tek iş parçacıklı bir dil olduğundan, aynı anda yalnızca bir işlem gerçekleştirebilir. Event loop, asenkron işlemleri yönetmek için kullanılan bir mekanizmadır.Çalışma Prensibi
JavaScript'te event loop şu şekilde çalışır:- Call Stack: İşlem sırası, iş parçacığında izlenir. Fonksiyonlar buraya eklenir ve tamamlandıkça çıkarılır.
- Web APIs: Asenkron işlemler (örneğin, setTimeout, AJAX) burada işlenir. İşlemler tamamlandığında callback fonksiyonları işleme alınmak üzere kuyruklanır.
- Callback Queue: Web APIs'den dönen callback fonksiyonları buraya eklenir. Call stack boşaldığında buradan alınarak işlenir.
- Event Loop: Call stack ve callback queue arasında sürekli bir döngü oluşturarak, call stack boşsa callback queue'dan bir fonksiyon alır ve çalıştırır.
Örnek Senaryo
1. Bir fonksiyon çağrılır ve call stack'e eklenir. 2. Fonksiyon içinde bir asenkron işlem (örneğin setTimeout) başlatılır. 3. Asenkron işlem tamamlandığında, ilgili callback fonksiyonu callback queue'ya eklenir. 4. Call stack boşaldığında, event loop callback queue'dan bir fonksiyonu alıp call stack'e ekler ve çalıştırır. Bu döngü sürekli olarak devam eder ve JavaScript programlarının asenkron olarak çalışmasını sağlar.
Cevap yazmak için lütfen
.
Aynı kategoriden
- Bulut bilişim ve yerel sunucu altyapıları arasındaki performans ve güvenlik farkları nelerdir
- SQL performansı: indeks türleri, sorgu planı ve ipuçları
- Python’da stringler nasıl birleştirilir?
- Derin öğrenme nedir?
- Algoritma nedir ve neden önemlidir?
- Mühendislik alanında kullanılan temel veri yapıları nelerdir?
- Mobil uygulamalarda push bildirimleri nasıl kurulur?
- Bilgisayarim neden yavas calisiyor?
- JavaScript’te Promises kullanımı nasıl yapılır?
- Python’da hangi veri türleri bulunur?
- Node.jsde npm ve yarn arasındaki farklar nelerdir?
- Python’da stringleri nasıl birleştirebilirim?
- Python'da bir string içindeki harfleri büyük harfe nasıl dönüştürebilirim?
- Linux’ta dosya ve dizinleri aramak için hangi komutları kullanabilirim?
- Mühendislik alanında temel olarak hangi programlama dillerini öğrenmeliyim?
- JavaScript’te kullanılan en yaygın veri tipleri nelerdir?
- Yazılım geliştirme sürecinde unit testlerin önemi nedir?
- C dilinde static anahtar kelimesi ne işe yarar?
- Visual Studio Code ile bir dosyayı nasıl açabilirim?
- Python’da bir stringin içindeki harfleri nasıl alfabetik sıraya göre listelerim?
