일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- scrum
- 노드js
- 개발자
- java
- 지식 그래프
- 이벤트 루프
- Router
- 예제
- node
- 스레드
- nodejs
- C++
- 스크럼 마스터
- 스크럼
- benchmark
- 특징
- 자바
- 파헤쳐보자
- ngrinder
- 노드
- RDF
- Django
- express
- Stream
- Knowledge Graph
- Python
- Groovy
- node.js
- 소켓
- socket.io
- Today
- Total
목록이벤트 루프 (2)
라봉이의 개발 블로그
서론 Node.js는 싱글 스레드 이벤트 루프를 사용한다고 알려져있습니다. 따라서 Node.js는 싱글 스레드(?)이다. 라고 잘못 아시는 분들도 종종 있구요. 하지만 Node.js는 이벤트 루프가 싱글 스레드에서 동작 한다는 것이지 내부적으로 스레드풀을 두어 I/O 작업에 스레드를 사용할 수 있도록 합니다. 이를 통해 병렬적으로 작업을 진행할 수 있는 것입니다. 확인을 위해 간단하게 node.js의 http 모듈을 사용해 서버를 띄워보도록 하겠습니다. 간단한 서버 코드 동작시켰을 때 화면 그리고 ps -M 명령어를 사용하여 스레드의 개수를 확인할 수 있습니다. (Mac OS 환경) 총 7개의 내부 스레드가 있는 것을 확인할 수 있다. 위의 사진에서 보다시피 현재 간단한 Node.js 프로세스인데 총 7..
그동안 노드js를 사용하면서 항상 머리 속을 맴돌았던 질문이 있었다. 노드는 어떻게 돌아가는 거지? 노드는 왜 싱글 스레드인거지? 뭐가 대체 싱글 스레드인걸까?? 궁금증에 못이겨 노드js 공식 홈페이지의 문서를 뒤젹거리며 찾아본 결과를 정리해보고자 포스팅을 시작했다. 문서 내용을 가져온 내용이 있기 때문에 직접 Node.js 공식 문서를 보는 것도 좋은 방법일 것 같다. Node.js 공식 문서: https://nodejs.org/ko/docs/ 블로킹과 논블로킹 살펴보기 먼저 블로킹과 논블로킹에 대해 알아보도록 하겠습니다.블로킹: 호출되는 함수가 자신의 작업을 마칠 때까지 제어권을 넘겨주지 않고 대기하는 방식논블로킹: 호출되는 함수가 바로 제어권을 넘겨줘서 다른 작업을 진행할 수 있도록 하는 방식 No..