Aller au contenu

Référence de l'API node:worker_threads

Surface de compatibilité pour les worker threads et la messagerie

Sur cette page

L’espace de noms comprend Worker, MessageChannel, MessagePort, BroadcastChannel, les métadonnées de thread, les données d’environnement et les marqueurs de transfert.

ExportRôle
WorkerConstruire un worker à partir d’un fichier ou d’une source évaluée.
isMainThread, isInternalThread, threadIdIdentifier le thread courant.
parentPort, workerDataCommuniquer avec un worker parent.
MessageChannel, MessagePort, BroadcastChannelPrimitives de messagerie.
getEnvironmentData(), setEnvironmentData()Données d’environnement des workers.
receiveMessageOnPort()Lire de manière synchrone un message en file sur un port.
fonctions de marquage de transfertContrôler le clonage et le transfert.
SHARE_ENV, resourceLimitsValeurs de configuration des workers.

Un worker en cours d’exécution maintient elide run en vie jusqu’à ce qu’il se termine ou soit arrêté :

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 plafonne le nombre de workers qu’un script peut démarrer ; consultez Bac à sable du système de fichiers.

Pour les canaux au sein d’un même realm, consultez Messagerie Web.

Voir aussi

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.

Cette page vous a-t-elle aidé ?