싱글 쓰레드 - 비동기 - 이벤트 기반
쓰레드란 명령을 실행하는 단위
한 개의 쓰레드는 한 번에 한가지 동작만 실행 가능
싱글 쓰레드 - 한 번에 한가지 동작만 수행함
멀티 쓰레드 - 동시에 여러 동작 수행 가능
장점 - 쓰레드가 늘어나지 않기 때문에 리소스 관리에 효율적
단점 - 쓰레드 기반의 작업들의 효율이 떨어짐 ex) CPU 연산 작업
그래서 Node.js 는 비동기 동작으로 쓰레드 기반의 작업을 최소화합니다.
동작을 실행한 후 완료가 되길 기다리지 않는 방식
동작의 완료를 기다리지 않기 때문에 다른 동작을 바로 실행 가능
Node.js 는 싱글 쓰레드이기 때문에 비동기 방식을 사용함
비동기 동작의 완료를 처리하는 방법
비동기 방식은 특정 동작을 실행한 후, 해당 동작을 전혀 신경 쓰지 않음
대신 해당 동작이 완료될 경우 실행할 함수를 미리 등록함.
비동기 동작이 완료가 되면 미리 등록된 함수를 실행
싱글 쓰레드이기 때문에 비동기 동작 필요
비동기 동작을 구현하기 위해 이벤트 기반