2

重複の可能性:
node.js の内部。実際にどのように機能しますか

私は NodeJS を初めて使用し、イベント ループのしくみについて混乱しています。

まず、空のファイル (blank.js という名前) があり、それをノード ( node blank.js) で実行すると、ノードはファイルを実行してすぐに終了します。イベント ループが開始されなかったのはなぜですか? また、開始する原因は何ですか?

第 2 に、NodeJS でサーバーを実行している場合、サーバーは実質的に入力 (つまり、クライアント要求) を待機しています。待っているときに何が起こっているのか、どのように待っているのか (イベントループを遅らせてしまうので、眠っているわけではありません)。ノードが記述されている方法では、イベントが発生します (したがって、イベントを待機しています)。

最後に、Ryan Dahl は Node を単一のスタックとして説明します。私が思うに、Node のイベントの性質により、関数呼び出しには再帰呼び出しに存在するようなスタックがありません。これは正しいです?

だから私の質問を要約します:

  1. イベント ループは何によって開始され、どのように開始されますか?
  2. ノードが待機している場合 (これは非ブロッキングです)、これはどのように達成されますか?
  3. コールバックに使用される関数の関数メモリ スタックはどうなりますか?

私は NodeJS に関する本を読みました。はい、Nodes は非同期シングル スレッドのノンブロッキング IO であることを認識しています。内部のしくみがわからないだけで、これを教えてくれる本はありません。

4

0 に答える 0