基本信息
笔者在 Node.js 最新的开发版本 v11.4.0 上测试该特性,目前需要添加 flag 才能引入 Worker Threads,例如:
node --experimental-worker index.js
Worker Threads 特性是在2018年6月20日的 v10.5.0 版本引入的:
目前该模块处于 Stability 1 – Experimental 阶段,改动会较大,不建议用于生产环境。
模块接口
const {
isMainThread, parentPort, workerData,
threadId, MessageChannel, MessagePort, Worker
} = require('worker_threads');
该模块对象和类非常少,只有4个对象和3个类。
-
isMainThread:false 表示当前为 worker 线程,false 表示为主线程
-
parentPort: 在 worker 线程里是表示父进程的 MessagePort 类型的对象,在主线程里为 null
-
workerData: 在 worker 线程里是父进程创建 worker 线程时的初始化数据,
版权声明:本文为azard5原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。