worker_threads
- Node.js kursu
- İleri seviye
- Ders 7/83
- 5 dk
worker_threads ile CPU yoğun işleri öğrenirsin.
worker_threads nedir?
Node.js olay döngüsü tek iş parçacıklıdır; ağır CPU işleri bütün süreci tıkayabilir. worker_threads modülü, gerçek paralel iş parçacıkları oluşturmanı sağlar. cluster'dan farkı: işçiler ayrı süreç değil, aynı süreç içinde paralel iş parçacıklarıdır ve bellek paylaşabilirler.
Modül yerleşiktir: require("worker_threads") ile içe aktarılır. CPU yoğun işler (görüntü işleme, şifreleme, büyük hesaplamalar) için idealdir. I/O işlerinde ise olay döngüsü zaten yeterlidir.
isMainThread ve parentPort
worker_threads modülü iki önemli özellik sunar. isMainThread ana iş parçacığında true, işçi iş parçacığında false döner. parentPort işçide anaya mesaj göndermek için kullanılan portu verir; ana iş parçacığında null'dur.
Tipik kalıp: ana iş parçacığında new Worker(...) ile işçi başlatılır; işçi parentPort.postMessage(...) ile sonuç gönderir. Bu, cluster'ın IPC modeline benzer ama aynı süreç içinde çalışır.
Uygulama isMainThread değerini yaz
worker_threads modülünden isMainThread'i içe aktar. Değerini console.log ile yaz.
Başlangıç kodu
// modülü içe aktar, ana bayrağı al
// değerini yazÖrnek çözüm
const { isMainThread } = require("worker_threads");
console.log(isMainThread);Beklenen çıktı
true
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 worker_threads hangi amaçla kullanılır?
- Ağ isteklerini hızlandırmak
- Dosya yazmayı kısaltmak
- CPU yoğun işleri paralel yapmak Doğru cevap
- HTML sayfası render etmek
Açıklama: worker_threads CPU yoğun işleri paralel yapmak için kullanılır.
2 Modül adını tamamla
const { Worker } = require("____")
const { Worker } = require("worker_threads")
Açıklama: worker_threads modülü require("worker_threads") ile yüklenir.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
worker_threads |
Paralel iş parçacığı |
isMainThread |
Ana iş parçacığı mı? |
parentPort |
Anaya bağlantı |
Worker |
İşçi sınıfı |