이벤트루프
-
Node.js 이벤트 루프카테고리 없음 2022. 3. 16. 23:54
Node.js? 대부분의 노드 책을 펴자마자 알 수 있는 것은 Node.js는 V8 엔진 기반의 event-driven, 논블로킹, 싱글스레드 js 런타임 이다. 라고 말을 한다. Spring Boot 혹은 Spring MVC 같은 경우에는 멀티스레드 기반이다. 새로운 request가 올때마다 새로운 스레드를 하나씩 polling 한다. 하지만 Node 같은 경우에는 하나의 스레드 만으로 여러 비동기 작업을 블로킹 없이 수행할 수 있고 그 기반은 event-loop 가 존재 한다. 위 사진은 Node.js 의 구성도 인데 Node.js 는 C++로 작성된 런타임이고 그 내부에 V8 엔진과 libuv를 가지고 있다. libuv? libuv는 C++로 작성되었고, Node.js 가 사용하는 비동기 I/O 라..