Worker
- Node.js kursu
- İleri seviye
- Ders 8/83
- 5 dk
new Worker ile worker oluşturmayı öğrenirsin.
new Worker
new Worker(filename) çağrısı, belirtilen dosyayı yeni bir iş parçacığında çalıştırır. filename bir JavaScript dosyasının yoludur; bu dosya işçi olarak ayrı bir iş parçacığında yürütülür.
Worker kurucusu ayrıca { workerData } seçeneği alır; bu, işçiye başlangıç verisi gönderir. İşçi tarafta workerData ile bu veriye erişilir. Ana iş parçacığı Worker nesnesi üzerinden worker.on("message") ile mesajları yakalar.
Worker olayları
Bir Worker nesnesi bir EventEmitter'dır ve üç temel olay yayınlar. "message" işçi parentPort.postMessage çağırınca tetiklenir. "error" işçide yakalanmamış hata olunca tetiklenir. "exit" işçi iş parçacığı kapanınca tetiklenir.
Bu olayları worker.on("message", handler) şeklinde dinlersin. Hata olayını her zaman dinlemek iyi bir alışkanlıktır; aksi halde işçi hatası ana süreci çökertebilir.
Uygulama Worker sınıfının türünü yaz
Worker sınıfını worker_threads'den içe aktar. typeof Worker sonucunu yaz.
Başlangıç kodu
// Worker sınıfını içe aktar
// türünü yazÖrnek çözüm
const { Worker } = require("worker_threads");
console.log(typeof Worker);Beklenen çıktı
function
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sınıf adını tamamla
const worker = new ____("./worker.js")
const worker = new Worker("./worker.js")
Açıklama: new Worker("./worker.js") iş parçacığını başlatır.
2 new Worker(...) ilk parametre nedir?
- Bir sayı (port)
- Bir dize mesaj
- Bir fonksiyon
- Bir dosya yolu Doğru cevap
Açıklama: İlk parametre işçi olarak çalışacak dosyanın yoludur.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
new Worker("./w.js") |
İşçi başlatır |
worker.on("message") |
Mesaj bekler |
worker.on("error") |
Hata yakalar |
worker.on("exit") |
Çıkış yakalar |