我有一个快速应用程序。我想为我想运行的一组函数创建并行流。我正在考虑使用async模块。节点模块中的并行流程
我想知道是否有任何其他模块比这更好?
其次我想知道是否有必要将这些函数设置为异步?可以说我有这样的
var sum = function(x, y){
return (x + y)
}
async.parallel([
function(callback){
setTimeout(function(){
result = sum (x, y); //just an example for a synchronous function
callback(null, result);
}, 100);
},
function(callback){
result = sum (x, y); //just an example for a synchronous function
callback(null, result);
}
],
// optional callback
function(err, results){
console.log(result);
// the results array will equal ['one','two'] even though
// the second function had a shorter timeout.
});
代码,以便你可以在这里面有功能,这是同步的。那么这两个还会同时运行吗?
我也听说在node.js中,只有I/O任务可以并行运行,因为node.js是单线程的。这是真的吗?如果我没有异步模块中的I/O任务,它们也不会并行运行,而只是看起来像?
请帮忙。
你肯定他们并不需要是同步的?其次,非I/O也可以并行工作或者像这样工作。正如很多人告诉我的,由于node.js在单线程中运行是不可能的,并且实现它必须产生子进程。那么异步使用子进程是否一样? –
当两个函数都完成了他们的工作(即他们调用它们的回调函数)时,将调用'async.parallel'的回调函数,这与所涉及函数的性质无关。不,异步不会产生流程来实现这一点,阅读链接,只是'async.parallel'来得到一个确切的想法。 –
是的,我经历了两次,但无法找到一个如何async.parallel达到这个答案?所以很想知道它是如何做到的? –