Node js

2. 노드의 특성

J-Plum 2025. 1. 7. 20:48

1. 이벤트기반

Node.js는이벤트를 기반으로 동작합니다.

이벤트가 발생했을 때 반응하도록 처리합니다.


2. 흐름

1. 콜백 함수 생성 : 이벤트가 발생했을 때 실행될 콜백 함수를 정의합니다.

2. 이벤트리스너 등록 : 특정 이벤트가 발생시 콜백함수가 실행되도록 이벤트 리스너를 등록합니다.

3. 이벤트 발생 : 이벤트가 발생하면 등록된 이벤트 리스너가 반응하며 지정된 콜백 함수를 실행합니다.

 

 


3. 블로킹과 논블로킹 I/O

Node.js는 기본적으로 비동기적이고 논 블로킹 방식으로 동작하며, 동기적이고 블로킹 방식으로도 동작할 수 있습니다.

  • 비동기(Asynchronous) : 다른 작업의 완료를 기다리지 않고 즉시 작업을 시작합니다.
  • 논블로킹(Non-blocking) : 작업을 실행할 때, 그 작업이 끝날때 까지 대기하지않고 계속해서 실행됩니다.
  • 동기(Synchronous) : 작업이 순차적으로 실행되며, 하나의 작업이 완료되어야 다음 작업을 시작합니다.
  • 블로킹(Blocking) : 작업을 실행할 때, 그 작업이 끝날 떄까지 다른 작업을 멈추거나 대기합니다.

Node.js의 비동기적, 논블로킹에 대해

Node.js는 기본적으로 비동기적이고 논블로킹 방식으로 설계되었습니다. 이것은 I/O 작업을 수행할 때 다른 작업들이 대기하지 않고 계속 실행될 수 있도록 합니다.