13

簡単な質問: child_process.fork と cluster.fork の違いは何ですか?

詳細:

  1. cluster.fork に引数を渡すことはできますか

  2. child_process.fork によって作成された ChildProcess を同じポートまたは unixsock でリッスンできますか

4

1 に答える 1

14

ドキュメントを読む: child_process.forkvs 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

(関数のlengthは、その仮パラメーターの数です)。代わりにメッセージ パッシングを使用してください。

2. child_process.fork によって作成された ChildProcess を同じポートまたは unixsock でリッスンできますか

cluster.forkは の上に実装されているため、おそらくそうですchild_process.fork。ただし、同じポートでリッスンする場合は、既に存在する理由がありcluster.forkます。

于 2012-05-01T03:32:06.390 に答える