스레드와 동시성


스레드와 동시성

스레드와 동시성 스레드란? 가벼운 프로세스로 CPU 이용의 기본적 단위이다. 한 프로세스 내에서 실행되며, Stack 영역을 제외한 메모리 구조를 공유한다. 각 스레드마다 PC, registers, stack을 각각 할당받는다. 따라서, 한 스레드가 공유 자원(힙 메모리)을 변경하면 다른 스레드에서 그것을 확인할 수 있다. Concurrency Problem 발생 가능 멀티스레드 배경 만약 서버가 싱글스레드로만 동작한다면, 한번에 한 클라이언트에게만 서비스를 제공할 수 있다. 이를 해결하기 위해 유저가 리퀘스트를 요청하면 분리된 스레드를 만들어 리퀘스트를 수행한다. 사실 스레드 개념이 등장하기 전에는 유저가 리퀘스트를 요청했을때, 새로운 프로세스를 생성하는 기법을 사용했다. 하지만 프로세스 생성시 소요되는 intensive한 자원의 문제, 그리고 새로운 프로세스가 기존 프로세스와 같은 일을 할것이라면 굳이 새로운 프로세스를 생성할 필요가 없다고 판단되어 스레드를 사용하게 되었다. 멀...


#praga #으로

원문링크 : 스레드와 동시성