0

私には3つの機能があります。以下のサンプルのように。

function1 {

  // Do some validation

}
function2 {

 // Do some read and write operations in DB

}
function3 {

 // Do some parallel task

}

nodejsで3つの関数すべてを並列に実行するにはどうすればよいですか. 前もって感謝します。

4

2 に答える 2

3

上記のコメントが示唆するように fork を使用することも、より簡単にcaolanの async パッケージを使用することもできます。

于 2013-08-14T07:20:55.663 に答える
1

それは、関数が何をするかによって異なります。

それらがすべて非同期 I/O を使用している場合は、単純にそれらを呼び出して、それぞれがその I/O を開始できるようにすることができます。これは並行して実行されます。

function1();
function2();
function3();

注: 補完を調整する必要がある場合は、やなどのフロー制御ライブラリを調べる必要があります。asyncq

ただし、それらのいずれかが同期している場合は、さらに複雑になります。それぞれに非同期 I/O を導入する必要があります。clusterこれは、 sを介して、またはchild_process複数のnodeプロセスを開始するために行うことができます。

ただし、JavaScript だけではできません。JavaScript は Node.js でもシングルスレッドであるため、同期タスクは他の JavaScript コードの実行をブロックします。非同期 I/O は、ネイティブ C/C++ バイナリを使用してのみ可能libuvです。

于 2013-08-14T07:45:33.383 に答える