1. 프로세스
- 운영체제에서 실행중인 프로그램 '하나'를 의미
- 각 프로세스는 독립된 메모리공간(코드, 데이터, 힙, 스택 등)을 가지고 있음
- 다른 프로세스와 자원 공유 불가
2. 스레드
- 프로세스 내에서 실제로 작업을 수행하는 실행 단위
- 같은 프로세스 내의 여러 스레드는 '코드, 데이터, 힙을 공유'하고 '스택은 독립적'.
- 자원 공유가 용이하지만, 그만큼 동기화 문제 발생 가능
3. 멀티 프로세스 VS 멀티 스레드
멀티 프로세스 | 멀티 스레드 | |
메모리 구조 | 각 프로세스가 독립적인 메모리 사용 | 스레드들이 공유 메모리 사용 |
안정성 | 하나가 죽어도 다른 프로세스 영향없음(안정적) | 하나에 문제 발생 시 전체 프로세스에 영향 가능 |
자원공유 | 어려움 | 용이함(동기화 필요) |
생성/전환 비용 | 큼 | 작음 |
예시 | 크롬 브라우저 탭 | 스레드 1-게임 내 입력처리, 스레드 2-렌더링, 스레드3 - AI |
'CS 공부' 카테고리의 다른 글
[CS] {컴퓨터 구조} 보조기억장치 (0) | 2025.04.13 |
---|---|
[CS] {컴퓨터 구조} 메모리 (1) | 2025.04.10 |
[CS] {컴퓨터 구조} CPU 심화 (0) | 2025.04.09 |
[CS] {컴퓨터 구조} CPU 구조 (0) | 2025.04.08 |
[CS] {컴퓨터 구조} 언어&명령어 (0) | 2025.04.07 |