Saltar al contenido

Referencia de la API node:worker_threads

Superficie de compatibilidad de hilos worker y mensajería

En esta página

El espacio de nombres incluye Worker, MessageChannel, MessagePort, BroadcastChannel, metadatos del hilo, datos de entorno y marcadores de transferencia.

ExportaciónPropósito
WorkerConstruye un worker a partir de un archivo o de código evaluado.
isMainThread, isInternalThread, threadIdIdentifican el hilo actual.
parentPort, workerDataComunicación con un worker padre.
MessageChannel, MessagePort, BroadcastChannelPrimitivas de mensajería.
getEnvironmentData(), setEnvironmentData()Datos de entorno del worker.
receiveMessageOnPort()Lee de forma síncrona un mensaje encolado en un puerto.
funciones de marcadores de transferenciaControlan la clonación y la transferencia.
SHARE_ENV, resourceLimitsValores de configuración del worker.

Un worker en ejecución mantiene vivo elide run hasta que termina o se le pone fin:

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 limita los workers que puede iniciar un script; consulte Sandbox del sistema de archivos.

Para canales en el mismo realm, consulte Mensajería web.

Véase también

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.

¿Te resultó útil esta página?