对于我正在使用的服务器上的基于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函数然后得到一个完成后回调?
答案 0 :(得分:2)
查看webworker threads,它应该执行您正在寻找的内容。还要考虑用更高效的语言(如C ++)编写CPU密集型任务,并通过libuv使这些任务异步,如果你有必要的技能,那么效率会更高。
编辑:此外,不要害怕将代码拆分为不同的文件,如果操作正确,这是组织代码的一种非常有用的方法。