私は Node.js テクノロジーに根本的な混乱があります。この小さな例で説明しましょう。
私はこのコードを持っています
setTimeout(function (){
console.log('world');
}, 2000);
console.log('hello');
このコードの実行を開始すると、すぐに「hello」が出力され、2 秒後に「world」が出力されます。
node.jsがシングルスレッドフレームワークであると言われている場合、残りのコード(印刷の世界)を実行しているのは単一のスレッドだけであるため、このsetTimeout関数が実行されるコンテキストまたは場所(スレッド/プロセス)を知りたいだけです。 .
DB ヒットなどの I/O 呼び出しの場合、node.js は Libeio を使用し、Libeio は内部でスレッドを使用します。したがって、シングルスレッドではありません。
私は正しいですか??
提案してください。
ありがとう