thread
-
[OS] Thread의 구조부터 Race Condition까지: 동시성 정리CS/OS 2025. 11. 26. 15:58
현대 애플리케이션은 여러 작업을 동시에 수행한다. 웹 서버는 동시에 수십만 요청을 처리하고, 모바일 앱은 UI 스레드와 네트워크 스레드를 분리해 부드러운 경험을 제공한다. 이처럼 동시성(Concurrency)을 가능하게 하는 핵심 개념이 바로 Thread다.이번 글에서는 Thread의 구조, 장점, 그리고 왜 동시성이 어렵게 느껴지는지 OS 관점에서 정리해보았다. Thread란 무엇인가?초기 운영체제에서 프로세스는 하나의 실행 흐름(PC)만 가진 단일 구조였다.하지만 현대 OS에서는 프로세스가 여러 스레드를 포함하는 실행 단위가 되었다.스레드가 갖는 요소Program Counter(PC): 다음 실행할 명령어 위치Registers: 계산 작업에 필요한 레지스터 집합Stack: 함수 호출 스택(스레드별 ..