Node.js에서 비동기의 개념은 어떻게 되나요?

Sang heon lee·2021년 11월 16일
0

기술면접준비

목록 보기
1/16
post-custom-banner

Node.js란

  • Node.js는 브라우저 밖에서 실행할 수 있는 Javascript 실행환경입니다.

Node.js의 특징

  • 크롬에서 사용되는 V8 엔진을 사용합니다.

  • 단일 쓰레드 이벤트 루프 기반이며 I/O를 비동기식 처리합니다.

  • 방대한 모듈 시스템을 갖추고 있습니다. (기본 / 써드파티 / 사용자 정의)

Node.js의 이벤트 처리 방식

  • 이벤트는 Event Queue에 담겨 순서대로 처리됩니다.

  • Node.js에서 이벤트를 처리 할때 Event Loop를 활용하는데 Event Loop는 싱글 쓰레드 이기 때문에 한번에 하나의 처리밖에 하지 못합니다. 그리하여 한 작업을 실행하면 무작정 그 작업이 끝나기만을 기다려야 하는데 무작정 기다릴수는 없습니다.
    여기서 비동기 개념(Non-blocking)이 적용됩니다.

  • Event Loop는 요청이 들어오면 멀티쓰레드인 Worker thread 에게 넘겨주고 다른 작업을 바로 수행합니다. Worker는 작업이 끝나면 Callback 함수를 호출하여 이벤트 루프에게 작업이 끝낫음을 알립니다.

출처 : https://imsoncod.tistory.com/5

profile
개초보
post-custom-banner

0개의 댓글