누가 관리하느냐 · 자리 바꿔치기 매년 함정
사용자 스레드 vs 커널 스레드
| 항목 | 사용자 스레드 | 커널 스레드 |
| 관리 주체 | 사용자 라이브러리 (pthread) | OS 커널 |
| OS 인식 | ❌ 프로세스 1개로 봄 | ✅ 각 스레드 인식 |
| 생성·교환 | 빠름 (커널 호출 ❌) | 사용자보다 느림 |
| 블로킹 | 1개 Block→전체 멈춤 | 1개 Block→나머지 계속 |
| 멀티코어 | ❌ 한 코어에만 | ✅ 커널이 분산 |
| 안정성 | 라이브러리 의존 | OS 직접 관리·안정 |
멀티스레드 장점
① 응답성 ↑ ② 자원 공유 효율 ↑ ③ 생성·전환 비용 ↓ ④ 멀티코어 병렬 ↑
멀티스레드 단점
① 동기화 문제(공유 데이터 충돌·경쟁 조건) ② 한 스레드 오류→전체 영향 ③ 디버깅 어려움
합격 한 줄 · 혼합 모델
사용자=라이브러리·빠름·블로킹 약점 / 커널=OS·안정·멀티코어. 혼합(N:M) 모델=다수 사용자 스레드를 소수 커널 스레드에 매핑 → 빠르면서 멀티코어 활용(현대 OS 일반).