스레드

지난 주 호눅스님의 강의에서 C10K 문제가 1999년부터 화두에 오르기 시작했고, 그 부분을 해결하기 위한 방법으로 등장한 것이 node.js라는 이야기를 들었다. 노드 js의 비동기 논블로킹이라는 특징이 C10K 문제를 해결하는데에 있어서 무엇이 도움이 되고, 스프링과 비교했을 때의 이점이 무엇인지 정확히 받아들여지지가 않았다.  그래서 이번 포스팅에서는 C10K와 node.js의 싱글 스레드, 논블로킹의 특징이 어떻게 C10K의 문제를 해결하는가에 대해 작성해보겠다.  C10K 문제 C10K란 동시 사용자 1만명(Concurrent 10K users)가 접속하는 서버를 어떻게 구현해야할 것인가에 대한 문제이다.   C10K라는 문제가 대두되었을 때는 1999년으로, 지금으로부터 약 25년 전이다. ..
1. Thread 스레드란, 프로세스 내부에서 실행되는 작은 작업 단위를 말합니다. (1) Thread가 쓰이게 된 배경 프로세스가 하나 생기면 code, data, stack으로 구성된 주소 공간이 프로세스 별로 메모리에 만들어집니다. 그리고 그 프로세스 하나를 관리하기 위해서 운영 체제 내부에 PCB라는 것을 두고 있습니다. PCB에는 사진과 같이 프로세스의 상태, 식별 ID, 현재 메모리의 어느 부분을 실행하고 있는지 가르키는 program counter 등이 있습니다.  만약 동일한 일을 하는 프로세스가 여러 개 있다고 가정하면, 프로세스마다 별도의 주소 공간이 만들어져서 메모리가 낭비됩니다.   같은 일을 하는 프로세스를 여러 개 띄워놓고 싶으면, 메모리 공간만 하나 띄워놓고 각 프로세스마다 다..
동구름이
'스레드' 태그의 글 목록