CS
[Process와 Thread - 3] 멀티 프로세스와 멀티 스레드 비교
옥돔이와 연근이
2025. 2. 20. 12:55
반응형
↘️ [Process와 Thread], 이전 글 보기
[Process와 Thread - 2] 프로세스와 스레드의 개념과 차이: 멀티스레드의 작동 원리
[Process와 Thread - 1] 프로세스의 구조와 동작 방식
📍 멀티 스레드와 멀티 프로세스의 차이점 비교
다음은 메모리 사용량, CPU 시간, Context Switching, 안전성 관점에서 멀티스레드와 멀티프로세스를 비교
비교 항목 | 멀티 프로세스 | 멀티 스레드 |
메모리 사용량 | - 각 프로세스는 독립적인 메모리 공간을 가짐. - 메모리 사용량이 많음. - 비효율적 |
- 스레드는 프로세스 내에서 메모리를 공유. - 추가 메모리 소모가 적음. - 효율적 |
CPU 시간 | - Context Switch 시, 프로세스 간 독립적 메모리 접근으로 인해 추가 작업 필요. - 시간 소모가 큼 |
- Context Switch 시, 메모리 공유로 전환 속도가 빠름. - 시간 소모가 적음 |
Context Switching | - PCB(Process Control Block) 전체를 저장/복구해야 함. - 무겁고 느림 |
- 스레드는 메모리 공유로 PCB 전환보다 가벼움. - 빠르고 효율적 |
안전성 | - 각 프로세스가 독립적 메모리 공간을 사용. - 다른 프로세스에 영향을 주지 않아 안정적 |
- 메모리 공유로 인한 동기화 문제가 발생 가능. - 엉뚱한 값을 읽거나 수정할 위험 있음. - 신중한 동기화 필요 |
📍 주요 차이점
- 메모리 사용량
- 멀티 스레드는 Code, Data, Heap 영역을 공유하므로 효율적.
- 멀티 프로세스는 각 프로세스가 독립적인 메모리를 사용해 메모리 사용량이 큼.
- CPU 시간
- 멀티 스레드는 Context Switching이 빠르고 자원 소모가 적음.
- 멀티 프로세스는 메모리 독립성으로 인해 Context Switching 시 더 많은 시간 소모.
- Context Switching
- 멀티 스레드: 빠르고 가벼운 전환.
- 멀티 프로세스: PCB 전환으로 인해 느리고 무거운 전환.
- 안전성
- 멀티 스레드: 자원을 공유하기 때문에 동기화 문제 발생 가능성.
- 멀티 프로세스: 독립적인 메모리로 안전성이 높음.
반응형