1. ホーム
  2. multithreading

[解決済み] nodejsでスレッドを作成する方法

2023-02-05 22:15:37

質問

複数のメソッドを同時に実行するためのスレッドを作成する方法はありますか?

そうすれば、その間にいずれかのメソッドが失敗した場合、他のすべてのスレッドが強制終了されるはずです。

どのように解決するのですか?

新しい答えです。 node.jsは以前はネイティブにスレッドを使用する機能を持っていませんでしたが、その後、機能が追加されました。 以下を参照してください。 https://nodejs.org/api/worker_threads.html を参照してください。

古い答えです。 すべてのnode.jsプロセスは、設計上シングルスレッドです。 したがって、複数のスレッドを取得するには、複数のプロセスを持つ必要があります(他の投稿者が指摘したように、Nodeでスレッドを操作する能力を与える、リンクできるライブラリもありますが、それらのライブラリなしではそのような能力は存在しません。 Shawn Vincentによる回答を参照してください。 https://github.com/audreyt/node-webworker-threads )

node.jsのドキュメントにあるように、メインプロセスから子プロセスを起動することができます。 http://nodejs.org/api/child_process.html . このページの例はかなり良くできていて、かなりわかりやすいです。

親プロセスは、開始したプロセスのクローズ イベントを監視し、開始した他のプロセスを強制的にクローズして、あなたが話しているタイプの 1 つのフェイルオール停止戦略を達成することができます。

また、以下を参照してください。 マルチコアマシン上のNode.js