我一直在尝试“ tiny-worker”模块,但是我觉得使用postMessage和onmessage在工作线程和主线程之间通信非常慢,因为通常来说,这很慢,因为nodejs本身不支持多线程?还有其他方法可以优化流程吗?也许使用其他模块?
答案 0 :(得分:1)
我已经在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个
我建议在使用Node.js进行多线程处理之前,请先阅读它的优缺点,并检查您的用例是否真正需要它。