cluster.fork与childprocess.fork的区别是什么

时间:2012-05-01 03:25:44

标签: node.js

简单问题:cluster.fork

之间与child_process.fork的区别是什么

细节:

  1. 我可以将参数传递给cluster.fork

  2. 我可以在同一个端口上侦听,也可以通过child_process.fork创建ChildProcess创建unixsock

1 个答案:

答案 0 :(得分:13)

阅读文档:child_process.fork vs cluster.fork

  

cluster.fork()child_process.fork()之间的区别仅在于群集允许在工作人员之间共享TCP服务器。 cluster.fork已在child_process.fork

之上实施

http://nodejs.org/api/cluster.html


  

1。我可以将参数传递给cluster.fork

不符合文档,并且:

> var cluster = require('cluster')
undefined
> cluster
{ isWorker: false,
  isMaster: true,
  fork: [Function],
  _startWorker: [Function],
  _getServer: [Function] }
> cluster.fork.length
0

(a function's length是其形式参数的数量)。请改用message passing

  

2。我可以在child_process.fork创建的ChildProcess中使用相同的端口或unixsock监听

大概是的,因为cluster.fork是在child_process.fork之上实现的。但是,如果您想在同一端口上侦听,则{em>原因 cluster.fork已经存在。