JavaScript Niyə Single-Threaded-dir?
Single-threaded deməkdir ki, JavaScript-in işləyən tək bir “axın” (thread) var. Yəni, eyni anda yalnız bir əməliyyat icra oluna bilir.
- Thread = bir iş axını, bir yığın əməliyyatların icra olunma ardıcıllığı
- JavaScript-də yalnız bir thread var → tək vaxtda yalnız bir kod parçası işləyir
Nümunə
console.log("A");
console.log("B");
console.log("C");- Stack-də əməliyyatlar bir-bir icra olunur
- Eyni anda bir neçə
console.logişləyə bilməz - Nəticə belədir:
A
B
CSingle-threaded olmasının təsiri
- Bloklanma riski var:
Əgər uzun sürən bir əməliyyat Stack-də işləyirsə (məsələn, böyük döngüwhile(true)), digər əməliyyatlar gözləməli olur → proqram dondurula bilər.
while(true) {
// proqram sonsuz döngüdə qalacaq
}2. Asinxron mexanizmlərə ehtiyac yaranır:
JavaScript tək thread olduğu üçün uzun çəkən işləri bloklamamaq üçün setTimeout, fetch, Promise kimi asinxron əməliyyatlar istifadə olunur.
Get terlan sireliyev’s stories in your inbox
Join Medium for free to get updates from this writer.
Məsələn:
setTimeout(() => console.log("Hello"), 2000);
console.log("World");Nəticə:
World
HelloWorlddərhal icra olunur (Stack-də)Helloisə 2 saniyə sonra, Stack boş olduqda Task Queue-dan gəlir
izahı:
Single-threaded = JavaScript bir anda yalnız bir işi görə bilir.
- Sinxron əməliyyatlar Stack-də bir-bir icra olunur
- Asinxron əməliyyatlar Web APIs və Event Loop vasitəsilə idarə olunur ki, tək thread bloklanmasın







