nodejs 多线程的支持
发布于 4 年前 作者 classfellow 5308 次浏览 来自 分享

工作线程对于执行 CPU 密集型的 JavaScript 操作非常有用。 它们在 I/O 密集型的工作中用途不大。 Node.js 的内置的异步 I/O 操作比工作线程效率更高。 我的这个解决方案是2017年做好的。比node原生模块worker_threads早。node 8, 10 的用户使用muti-thread,功能一样。个人感觉,这个实现方案用起来更简单,更好理解。 对于node14用户, 运行 npm install worker-thread2 安装,支持 Windows、Mac、Linux。C++模块需要编译,例如Windows下安装VS C++ 2019。

这个模块依赖 bluebird,支持promise。

以下是运行示例:

jia@youjia MINGW64 /c/worker-thread2/sample
$ node main.js
thread is running
thread task number is 8
null apple+apple+
null {3C3EE61D-1B2E-4167-AA04-90E8510AD3DA}
null {3C3EE61D-1B2E-4167-AA04-90E8510AD3DA}
null {3C3EE61D-1B2E-4167-AA04-90E8510AD3DA}
null {3C3EE61D-1B2E-4167-AA04-90E8510AD3DA}
null {3C3EE61D-1B2E-4167-AA04-90E8510AD3DA}
null {3C3EE61D-1B2E-4167-AA04-90E8510AD3DA}
null {3C3EE61D-1B2E-4167-AA04-90E8510AD3DA}

工程首页地址:https://www.npmjs.com/package/worker-thread2

回到顶部