Basit İngilizce'de Web çalışanı namı diğer Event loop
JavaScript, tek iş parçacıklı bir programlama dilidir, yani aynı anda yalnızca bir görevi işleyebilir. Bu, işlenmekte olan görevin tamamlanması uzun sürerse performans darboğazlarına yol açabileceğinden, belirli uygulama türleri için bir sınırlama olabilir.
Bunun bir örneği, bir sunucudan veri almak veya büyük miktarda veriyi ekrana aktarmak gibi zaman alan bir işlemi gerçekleştirmek için JavaScript kullanan bir web sayfasında görülebilir. Bu işlem yapılırken web sayfasının kullanıcı arayüzü yanıt vermeyecek ve çalışmaya çalışan diğer JavaScript kodları mevcut görev tamamlanana kadar beklemek zorunda kalacak.
Bu sınırlamayı aşmak için geliştiriciler, JavaScript kodunun arka planda ayrı bir iş parçacığında çalışmasına izin veren web çalışanları gibi teknikler kullanabilir veya Async.js gibi bir dizide eşzamansız kod yazmanın bir yolunu sağlayan kitaplıkları kullanabilirler. daha senkronize stil.
Bununla birlikte JavaScript'in, birden çok görevi eşzamansız olarak işlemesine izin veren Olay Döngüsü adı verilen bir mekanizması da vardır. Olay döngüsü, mesaj sırasını yeni mesajlar (yani görevler) için kontrol eder ve bunları birer birer işler. Sonuç olarak JavaScript, tek iş parçacıklı olmasına rağmen aynı anda birden çok görevi gerçekleştirebilir.
Sonuç olarak, JavaScript tek iş parçacıklıdır, yani aynı anda yalnızca bir görevi işleyebilir. Bu, performans darboğazlarına yol açabilir, ancak web çalışanlarının ve zaman uyumsuz kitaplıkların kullanılmasıyla veya olay döngüsü mekanizmasının kullanılmasıyla azaltılabilir.
Arka planda zaman alan bir görevi gerçekleştirmek için JavaScript'te web çalışanlarını kullanmanın bir örneğini burada bulabilirsiniz:
// main.js
// Create a new web worker and pass it the path to the worker script
const worker = new Worker('worker.js');
// Send data to the worker
worker.postMessage({ data: 'Hello, Worker!' });
// Listen for messages from the worker
worker.onmessage = (event) => {
console.log(event.data);
}
// worker.js
// Listen for messages from the main thread
self.onmessage = (event) => {
// Perform a time-consuming task
const result = performExpensiveTask(event.data);
// Send the result back to the main thread
self.postMessage(result);
}
Eşzamanlı bir stilde eşzamansız bir işlem gerçekleştirmek için async/await kullanmanın başka bir örneğini burada bulabilirsiniz:
async function getData() {
const response = await fetch('http://example.com/data');
const data = await response.json();
console.log(data);
}
getData();

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































