Zum Inhalt springen

API-Referenz zu node:worker_threads

Kompatibilitätsoberfläche für Worker-Threads und Messaging

Auf dieser Seite

Der Namensraum umfasst Worker, MessageChannel, MessagePort, BroadcastChannel, Thread-Metadaten, Umgebungsdaten und Transfer-Markierungen.

ExportZweck
WorkerEinen Worker aus einer Datei oder ausgewertetem Quellcode erstellen.
isMainThread, isInternalThread, threadIdDen aktuellen Thread identifizieren.
parentPort, workerDataMit einem übergeordneten Worker kommunizieren.
MessageChannel, MessagePort, BroadcastChannelMessaging-Primitive.
getEnvironmentData(), setEnvironmentData()Umgebungsdaten von Workern.
receiveMessageOnPort()Eine Port-Nachricht aus der Warteschlange synchron lesen.
Funktionen für Transfer-MarkierungenKlonen und Transfer steuern.
SHARE_ENV, resourceLimitsKonfigurationswerte für Worker.

Ein laufender Worker hält elide run am Leben, bis er endet oder beendet wird:

import { Worker } from "node:worker_threads";

const worker = new Worker(
  "require('node:worker_threads').parentPort.postMessage('done')",
  { eval: true },
);
worker.on("message", (msg) => {
  console.log(msg); // done
  worker.terminate();
});

--limit=workers=COUNT begrenzt die Worker, die ein Skript starten darf; siehe Dateisystem-Sandbox.

Kanäle im selben Realm sind unter Web Messaging beschrieben.

Siehe auch

Reference

Status: Partial · 105 of 128 suite tests pass (82.0%)

worker_threads exports

BroadcastChannel, MessageChannel, MessagePort, Worker, getEnvironmentData, isInternalThread, isMainThread, isMarkedAsUntransferable, markAsUncloneable, markAsUntransferable, moveMessagePortToContext, parentPort, postMessageToThread, receiveMessageOnPort, resourceLimits, setEnvironmentData, threadId, threadName, workerData, 1 constants such as SHARE_ENV

Not implemented

locks.

Tests: node-api node:worker-threads: 105 pass, 22 fail, 1 error, 11 skipped. Failing: test-worker-cleanup-handles.js, test-worker-cpu-profile.js, test-worker-data-url.js, test-worker-eval-typescript.js, test-worker-exit-heapsnapshot.js, test-worker-heap-profile.js, test-worker-heap-snapshot.js, test-worker-heapdump-failure.js, and 15 more.

War diese Seite hilfreich?