Node
1.ノード起動
基本概念
Node.jsはChromeV 8 JavaScriptエンジンによって構築されたJavaScriptランタイムである.
ソース
イベントベース(イベント駆動)
イベントベースとは、イベントが発生したときに予め指定された操作を実行することを意味する.イベントベースのシステムでは、コールバック関数をイベントリスナーに登録し、特定のイベントに対して実行する操作を事前に登録します.
コードが実行されると、関数はCall Stackと呼ばれるスタックの形でスタックされます.JSは変数を格納するMemory HeapとCall Stackからなる.
コード実行の手順は次のとおりです.
非ブロックI/O
ブロッキングとは、前のタスクが完了した後に次のタスクを実行することです.逆に、非ブロッキングとは、前のタスクの完了を待たないことを意味します.ノードは、ファイルシステムアクセスやネットワーク要求などのI/O操作を非ブロックで処理する.これにより、処理時間を節約できます.
function longRunningTask() {
console.log("작업 끝");
}
console.log("시작");
longRunningTask();
console.log("다음 작업");
上のコードはブロック方式です.結果は「開始」>「タスク終了」>「次のタスク」の順に出力されます.function longRunningTask() {
console.log("작업 끝");
}
console.log("시작");
setTimeout(longRunningTask, 0);
console.log("다음 작업");
逆に,上記のコードはsettimeout(コールバック,0)方式で非ブロック化されている.結果は、「開始」>「次のタスク」>「タスク終了」に出力されます.シングルスレッド
前述したように、ノードは単一スレッドに基づいている.大量に現れる概念はプロセスとスレッドです.
Reference
この問題について(Node), 我々は、より多くの情報をここで見つけました https://velog.io/@monsterkos/Nodeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol