Node中的并行执行

时间:2014-02-12 09:17:32

标签: node.js asynchronous parallel-processing

我有以下代码检查数组中的每个用户。如果找到,开关盒将相应地工作。

var users = ["A","B"];
function searchUser() {
for (var j = 0; j < users.length; j++) {
        execute(users[j]);
    }
}

function execute() {
switch (selectUser) {
            case "A":
            {
                return new A();
                break;
            }
            case "B":
            {
                return new B();
                break;
            }
            ............
            }
}

如何让它并行运行?现在我得到A()然后B()的输出。但我希望它反过来也是如此。

2 个答案:

答案 0 :(得分:1)

虽然你无法让它们真正并行运行,但你可以通过使用异步模块使它更加异步:https://github.com/caolan/async

答案 1 :(得分:0)

此代码看起来像CPU密集型,可能没有涉及IO。该节点是单线程模型,因此并行处理不能在单个核心上(对于需要启动多个节点进程的多个核心)。在单核上,只有涉及IO时,吞吐量才会增加。如果您目前的代码没有涉及IO,您可能无法获得任何收益。