글 작성자: 망고좋아
반응형

🎯 Node.js 특징

싱글 쓰레드이기 때문에 비동기 동작이 필요하고 비동기 동작을 구현하기 위해 이벤트 기반의 동작 방식을 사용한다.

 

📝 쓰레드란?

  • 쓰레드란 명령을 실행하는 단위
  • 한 개의 쓰레드는 한 번에 한 가지 동작만 실행 가능

  • 싱글 쓰레드 장점 : 쓰레드가 늘어나지 않기 때문에 리소스 관리에 효율적
  • 싱글 쓰레드 단점 : 쓰레드 기반의 작업들의 효율이 떨어짐 ex. CPU 연산 작업

그래서 Node.js는 비동기 동작으로 쓰레드 기반의 작업을 최소화한다.

 

📝 비동기

  • 멀티 쓰레드 동기 방식은 한번에 여러가지 동작을 동시에 수행할 수 있지만 동작을 실행하고 완료를 기다리는 동안에 cpu 리소스가 낭비된다.
  • 싱글 쓰레드 비동기 방식은 한 번에 동작을 여러 가지 수행할 수 없지만 동작의 완료를 기다리지 않기 때문에 cpu 리소스를 효율적으로 사용할 수 있다.

 

📝 이벤트 루프

  • 비동기 동작의 완료를 처리하는 방식
  • 비동기 방식은 특정 동작을 실행한 후, 해당 동작을 전혀 신경 쓰지 않음
  • 대신 해당 동작이 완료될 경우 실행할 함수미리 등록
  • 비동기 동작이 완료가 되면 미리 등록된 함수를 실행.
 
반응형