我一直在尝试“ tiny-worker”模块,但是我觉得使用postMessage和onmessage在工作线程和主线程之间通信非常慢,这通常很慢,因为nodejs本身并不支持多线程?还有其他方法可以优化流程吗?也许使用其他模块?

最佳答案

我已经在npm中尝试了几个模块,并且在nodejs中执行多线程的性能没有明显的区别。
Node.JS本质上催生了用于执行多线程的子进程,并且您使用的所有模块在后台都执行相同的操作。
您可以尝试的一些模块是
1. https://nodejs.org/api/worker_threads.html
2. https://nodejs.org/api/child_process.html
3. https://www.npmjs.com/package/worker-farm
4. https://www.npmjs.com/package/cluster
5. https://www.npmjs.com/package/tiny-worker(您尝试过)
还有更多,但我只尝试了这5个

我建议在使用nodejs进行多线程之前,请先阅读它的优缺点,并检查您的用例是否真正需要它。

关于node.js - 在node.js中执行“多线程”的最佳和有效方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56456613/

10-15 12:50