11

私がnode.jsで読んだすべての文献の後、私はまだ質問に戻ります.node.js自体はフードの下で複数のスレッドを利用していますか? 単純な非同期ファイル読み取りの例を使用する場合、ファイルを読み取るために何かを実行する必要があるため、答えはイエスだと思いますが、ノードのメインイベントループがこの作業を処理していない場合は、POSIX スレッドが必要であることを意味する必要があります。ファイルの読み取りを処理する場所で実行され、完了時にコールバックがイベントループに配置されて実行されます。では、Node.js が 1 つのスレッドで実行されると言うとき、実際には node.js のイベント ループが 1 つのスレッドだけであるという意味でしょうか? それとも、ここに何かが欠けていますか.....

4

1 に答える 1

7

node.js の Javascript プログラムには、スレッドは 1 つしかありません

技術的なことをお探しの場合は、基盤となるオペレーティング システムで必要な場合、node.js は自由にスレッドを使用して非同期 I/O を解決できます。

重要なことは、Javascript プログラムに対する「スレッドは 1 つしかない」という抽象化を決して壊さないことです。それ以上のスレッドがある場合、Javascript プログラムでメイン スレッドの作業をキューに入れることしかできず、Javascript コード自体を実行することはできません。

于 2012-09-29T08:20:36.930 に答える