يتضمن نطاق الأسماء Worker وMessageChannel وMessagePort
وBroadcastChannel والبيانات الوصفية للخيوط وبيانات البيئة وعلامات النقل.
| الصادر | الغرض |
|---|---|
Worker | إنشاء عامل من ملف أو من مصدر مُقيَّم. |
isMainThread, isInternalThread, threadId | تحديد الخيط الحالي. |
parentPort, workerData | التواصل مع عامل أب. |
MessageChannel, MessagePort, BroadcastChannel | عناصر المراسلة الأساسية. |
getEnvironmentData(), setEnvironmentData() | بيانات بيئة العامل. |
receiveMessageOnPort() | قراءة رسالة منفذ منتظرة بشكل متزامن. |
| دوال علامات النقل | التحكم في الاستنساخ والنقل. |
SHARE_ENV, resourceLimits | قيم إعداد العامل. |
يُبقي العامل الجاري elide run حيًّا إلى أن يخرج أو يُنهى:
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 سقفًا لعدد العمال الذين يمكن للسكربت بدؤهم؛ راجع
عزل نظام الملفات.
للقنوات ضمن النطاق نفسه، راجع مراسلة الويب.
انظر أيضًا
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.