使用 Javascript node.js 如何并行处理 For 循环?

oa2*_*262 6 javascript parallel-processing node.js

我两天前才开始学习 javascript,所以我还是个新手。我已经编写了最佳代码,但需要 20 分钟才能运行。我想知道是否有一种简单的方法可以与 for 循环并行处理,例如

for (x=0; x<5; x++){ 处理器 1 执行 ...

for (x=5; x<10; x++){ 处理器 2 做 ...

小智 5

由于 OP 希望并行处理循环,因此异步async.each()库中的函数是理想的方法。

与在nodejsasync.each中相比,我使用的执行时间更快。forEach


小智 2

Web Worker 可以并行运行您的代码,但无需共享内存/变量等 - 基本上您将输入参数传递给 Worker,它会工作并返回结果。

http://www.html5rocks.com/en/tutorials/workers/basics/

你可以找到这个的nodejs实现,例如

https://www.npmjs.com/package/webworker-threads

或者,根据代码的编写方式,如果您正在等待大量异步函数,您始终可以重写代码以运行得更快(例如,使用事件队列而不是 for 循环 - 只需注意依赖性、执行顺序, ETC)