Javascript node.js中的子线程/次线程

Javascript node.js中的子线程/次线程,javascript,multithreading,node.js,process,parent-child,Javascript,Multithreading,Node.js,Process,Parent Child,我有一个要求,我必须运行一个独立于主节点线程的进程。基本上,其目的是从主节点线程数据启动辅助进程,而不是等待回调或任何结果,因为辅助进程不必向主线程返回任何内容 我希望在不阻塞主nodejs线程的情况下实现这一点,并且主线程不应该关心在将数据传递给次线程之后会发生什么。基本上,就次进程而言,主线程的进程在将数据发送到次线程后结束 有什么建议我可以做到这一点吗?我读过关于子进程、webworkers、dnode和process nexttick的文章,但我不确定实现它的最佳方法是什么。我尝试了ne

我有一个要求,我必须运行一个独立于主节点线程的进程。基本上,其目的是从主节点线程数据启动辅助进程,而不是等待回调或任何结果,因为辅助进程不必向主线程返回任何内容

我希望在不阻塞主nodejs线程的情况下实现这一点,并且主线程不应该关心在将数据传递给次线程之后会发生什么。基本上,就次进程而言,主线程的进程在将数据发送到次线程后结束


有什么建议我可以做到这一点吗?我读过关于子进程、webworkers、dnode和process nexttick的文章,但我不确定实现它的最佳方法是什么。我尝试了nexttick,但我的经验是,它仍然是主线程的一部分,尽管是异步的。

如果您的目标只是启动进程而不考虑输出,那么应该使用
detached:true


对于传递数据,您可以使用stdin进行写入(参见示例),或者传递命令行参数,或者写入文件并重定向

我实现了子进程fork,用于将辅助/后台处理的数据传递给子进程(而不断开子进程的连接)。到目前为止,我的工作似乎做得很好。如果我遇到任何问题或找到更好的解决方案,我会更新

//Main Process
var cp = require('child_process').fork('child.js');
cp.send(data);


//Child Process (child.js)
process.on('message', function(data){
 //do something with data
});

谢谢@Nirk,如果我每天必须处理数百万个这样的请求,那么产生效果会好吗?好的,那么我的是一个实时广告竞价平台,我每天必须对数百万个请求进行竞价。我必须分析请求并在100毫秒内做出响应。我可以用node做得很好。但是有几个不太重要的功能,它们不应该影响主响应时间,所以我尝试在发送投标响应后分别处理它们。