1

私はnode.jsの初心者です。私は現在、 Basarat Ali Syedによる「 Beignning Node.js」という本を読んでいます。

以下は、従来の Web サーバーのスレッド プールの欠点を示す抜粋です。

ほとんどの Web サーバーは、数年前にこの方法でスレッド プールを使用しており、現在も多くのサーバーが使用し続けています。ただし、この方法には欠点がないわけではありません。ここでも、スレッド間で RAM が浪費されます。また、OS は (スレッドがアイドル状態であっても) スレッド間でコンテキストを切り替える必要があり、これにより CPU リソースが浪費されます。

スレッド プール内のスレッド間でコンテキスト スイッチが発生する理由がよくわかりません。私が理解できる限り、タスクの実行中は 1 つのスレッドが持続します。タスクが完了すると、スレッドは次のタスクを自由に受け取ることができます。

So My Q1 : なぜコンテキスト スイッチが必要なのですか? スレッド間のコンテキストの切り替えはいつ行われますか?

My Q2 : node.js が複数のスレッドを使用してイベント キュー内のイベントを処理しないのはなぜですか? より効率的で、イベントのキューイング時間を短縮しませんか?

4

1 に答える 1