替代在节点分叉进程?

对于我的服务器上的大型基于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模块,也许是一个线程库,允许我这样做,即在一个新的线程上产生一个工作函数,然后得到一个callback做了什么?

检查webworker线程 ,它应该做你想要的。 还要考虑使用更高效的语言(例如C ++)编写CPU密集型任务,并通过使用libuv使这些任务asynchronous,如果具备必要的技能,则效率会更高。

编辑:另外,不要害怕把你的代码分成不同的文件,如果正确完成,这是一个非常有用的方法来组织你的代码。