javascript
-
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의 스레드풀에서 수행되기 때문에 엄격하게 말해서 완벽한 싱글스레드 모델은 아니다. **..
-
1. Node.JS 란?IT/NodeJs 2020. 10. 14. 19:59
1. Node.js 란?? - Javascript Runtime 이다. - Runtime 이란 특정 언어로 만든 프로그램을 실행할 수 있는 환경이다. - 자바스크립트 실행기 라고 봐도 무방하다. - 구글의 V8 엔진으로 인해 script 동작 엔진이 빨라졌고, 그것을 기반으로 오픈소스 코드로 공개되었다. 2. 내부 구조 - V8과 libuv 는 C와 C++로 구현되어 있다. - libuv 라이브러리는 노드의 특성인 이벤트, 논블로킹I/O 모델을 구현하고 있다. 3. 이벤트 기반 - 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식 - 이벤트 기반 시스템에서는 특정 이벤트가 발생할 때 무엇을 할지 미리 등록 해 두어야 한다(event listener, callback) - 이벤트 루프 : 이벤트가 동..