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

我只是在2天前开始学习JavaScript,所以我很新。 我写了代码是最佳的,但需要20分钟运行。 我想知道是否有一个简单的方法来并行处理与循环例如

for(x = 0; x <5; x ++){processor 1 do …

for(x = 5; x <10; x ++){processor 2 do …

networking工作人员可以并行运行你的代码,但不共享内存/variables等 – 基本上你将inputparameter passing给工作人员,它的工作原理,并将结果返回给您。

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

你可以find这个例子的nodejs实现

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

或者,根据你的代码的写法,如果你在等待很多asynchronous函数,你总是可以重写你的代码来加快运行速度(例如使用事件队列而不是循环 – 只要注意依赖关系,执行顺序,等等)

你可能想看看async.js项目 ,尤其是并行函数。

重要的报价:

并行是关于并行启动I / O任务,而不是并行执行代码。 如果你的任务不使用任何定时器或者执行任何I / O,他们将会实际上被串行执行 。 每个任务的任何同步设置部分都会一个接一个地发生。 JavaScript仍然是单线程的

例如:

async.parallel([ function(callback){ setTimeout(function(){ callback(null, 'one'); }, 200); }, function(callback){ setTimeout(function(){ callback(null, 'two'); }, 100); } ], // optional callback function(err, results){ // the results array will equal ['one','two'] even though // the second function had a shorter timeout. });