이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식.
특정 이벤트가 발생할 때 무엇을 할지 미리 등록해두어야함. -> Event listener에 Callback 함수를 등록.
노드는 이벤트가 발생하면 이벤트 리스너에 등록해둔 콜백함수를 호출. -> 다음 이벤트가 없으면 발생까지 대기.
이벤트 루프
백그라운드
태스크 큐
블로킹과 논 블로킹 방식의 차이
동시 처리 가능한 작업을 묶어서 작업해야 시간상의 효율을 볼 수 있음.
스레드가 하나인 것.
스레드
프로세스
노드는 하나의 프로세스를 생성하고, 프로세스가 스레드를 여러개 생성하는 데, 직접 제어할 수 있는 스레드는 하나 뿐임 -> 싱글스레드.
CPU 작업이 많을 때는 멀티 스레드가 효과적이나, 프로그래밍이 어렵고, I/O 작업이 많을 때는 비교적 쉬운 멀티 프로세싱이 효율적이므로, 노드는 이것을 사용한다.
노드는 싱글 스레드, 논 블로킹 모델을 사용. -> 장단점도 이와 비슷함.
장점
단점