runtime
-
javascript(nodejs) 동작원리 (Single thread, Non-Blocking, event-driven, event loop)카테고리 없음 2022. 3. 18. 18:28
**싱글 스레드, Blocking, Nonblocking NodeJS 는 싱글 스레드이다. 싱글 스레드는 프로세스 내에서 하나의 스레드가 하나의 요청만 수행한다. 해당 요청이 수행될 때 다른 요청을 함께 수행할 수 없고, 이를 싱글스레드 블록킹 모델이라고 한다. NodeJS는 싱글스레드 논블록킹 모델로 구성되어 있다. 하나의 스레드로 동작하지만, 비동기 I/O 작업을 통해 요청들을 서로 블록킹하지 않는다. 즉, 동시에 많은 요청들을 비동기로 수행함으로써 싱글스레드이지만 논블록킹이 가능하다. NodeJS 에서는 주요 로직을 처리하는(Javascript) 쓰레드는 하나이다. 하지만 일부 Blocking 작업들은 libluv의 스레드풀에서 수행되기 때문에 엄격하게 말해서 완벽한 싱글스레드 모델은 아니다. **..