CodeBlanks Logo Icon CodeBlanks

Worker

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

index.js
// Worker sınıfını içe aktar

// türünü yaz

Örnek çözüm

index.js
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

Soru
const worker = new ____("./worker.js")
Cevap
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

İleri seviye bölümündeki tüm dersler