替代节点中的分叉过程?

时间:2014-04-07 14:14:35

标签: javascript node.js

对于我正在使用的服务器上的基于cpu的大型任务:

var n = cp.fork('./worker.js');

// tell worker to start work
n.send({"msg": "startWork"});

// worker has finished
n.on('message', function(m) {       
    // continue here..
}); 

我这样做是因为我的服务器可以自由地为其他客户端连接提供服务。

但是,我宁愿不将我的代码拆分成不同的文件,任何人都知道一个好的npm模块,也许是一个允许我这样做的线程库,即在新线程上生成一个worker函数然后得到一个完成后回调?

1 个答案:

答案 0 :(得分:2)

查看webworker threads,它应该执行您正在寻找的内容。还要考虑用更高效的语言(如C ++)编写CPU密集型任务,并通过libuv使这些任务异步,如果你有必要的技能,那么效率会更高。

编辑:此外,不要害怕将代码拆分为不同的文件,如果操作正确,这是组织代码的一种非常有用的方法。