0

nodejs の紹介記事をいくつか読みましたが、webapp を作成する楽しい方法のようです。ただし、「1つのスレッドのみ」と「イベントループ」を理解しているかどうかわからないので、誰かが私のために明確にしてくれることを願っています.

関数「computeBigNumbers(data, callback)」があるとします。ここで、http 要求が行われると、この関数を呼び出して、完了したときのコールバックを提供します。「computeBigNumbers」関数で、特に子プロセスでコードを実行したり、Web ワーカー スレッドを開始したりしないと、非同期になりますか? いいえと考えています。正しい?

4

1 に答える 1

1

「computeBigNumbers」関数で、特に子プロセスでコードを実行したり、Web ワーカー スレッドを開始したりしないと、非同期になりますか?

... または別の非同期関数を呼び出します。

しかし、はい、node.js にはスレッドが 1 つしかないため、(時間のかかるタスクを明示的に非同期にすることによって) ブロックしないようにするのはユーザーの責任です。

I/O はコールバックに適していますが、CPU を大量に使用する操作がある場合は、おそらく Web ワーカーまたは子プロセスにファームアウトする必要があります。Javascript の激しいループまたは C 関数への同期呼び出しにより、サーバー全体が待機します。

于 2013-01-24T07:38:38.640 に答える