멀티스레드 & 동기화 심화

별점: ★★★★★ | 기본 필수


답안.

Ⅰ. 개요

사용자 수준 스레드 (Green Thread): 빠르지만 블로킹 시스템 콜 = 프로세스 전체 블록 M개 사용자 스레드 → N개 커널 스레드

Ⅱ. 핵심 구성요소

[사용자 수준 vs 커널 수준]
사용자 수준 스레드 (Green Thread):
  라이브러리 관리, 커널 미인식
  빠르지만 블로킹 시스템 콜 = 프로세스 전체 블록

커널 수준 스레드:
  커널이 직접 관리 (TCB)
  진정한 병렬 실행 가능
  컨텍스트 전환 비용 있음

[N:M 하이브리드 (Go 고루틴)]
M개 사용자 스레드 → N개 커널 스레드
적은 커널 스레드로 많은 작업 처리
Go: goroutine + GMP 스케줄러
[뮤텍스 (Mutex)]
상호 배제: 임계 구역에 한 번에 하나만
소유 개념: 잠근 스레드만 해제 가능
우선순위 역전 문제 → 우선순위 상속으로 해결

[세마포어 (Semaphore)]
계수 세마포어: N개 자원 제어
이진 세마포어: 뮤텍스와 유사 (소유 없음)
wait(P)/signal(V) 연산

[모니터 (Monitor)]
Java synchronized / C# lock
상호 배제 + 조건 변수 통합


해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.

### Ⅲ. 특징 및 비교

핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.

### Ⅳ. 적용 사례

실무 환경에서의 적용 사례와 기대효과를 제시한다.

### Ⅴ. 전망

최신 기술 동향과 향후 발전 방향을 서술한다.