바르고 뜨겁게

[NodeJS] 이벤트 루프 본문

자바스크립트/Node Js

[NodeJS] 이벤트 루프

RightHot 2018. 12. 13. 00:51

이벤트 루프는 가능하다면 언제나 시스템 커널에 작업을 떠넘겨서 Node.js가 논 블로킹 I/O 작업을 수행하도록 해줍니다.(JavaScript가 싱글 스레드임에도 불구하고)

대부분의 현대 커널은 멀티 스레드이므로 백그라운드에서 다수의 작업을 실행할 수 있습니다. 이러한 작업 중 하나가 완료되면 커널이 Node.js에게 알려주어 적절한 콜백을 poll큐에 추가할 수 있게 하여 결국 실행되게 합니다.


function run(){
   console.log('1초후 실행');
}

console.log('시작'
          );
setTimeout(run, 1000);
console.log('끝');
시작

3초후 실행

태스크큐에 들어가는 경우 : setTimeout, setInterval, setImmediate, Promise resolve, reject (async,await)

Comments