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 전환보다 가벼움.
- 빠르고 효율적
안전성 - 각 프로세스가 독립적 메모리 공간을 사용.
- 다른 프로세스에 영향을 주지 않아 안정적
- 메모리 공유로 인한 동기화 문제가 발생 가능.
- 엉뚱한 값을 읽거나 수정할 위험 있음.
- 신중한 동기화 필요

 


 📍 주요 차이점 

  1. 메모리 사용량
    • 멀티 스레드는 Code, Data, Heap 영역을 공유하므로 효율적.
    • 멀티 프로세스는 각 프로세스가 독립적인 메모리를 사용해 메모리 사용량이 큼.
  2. CPU 시간
    • 멀티 스레드는 Context Switching이 빠르고 자원 소모가 적음.
    • 멀티 프로세스는 메모리 독립성으로 인해 Context Switching 시 더 많은 시간 소모.
  3. Context Switching
    • 멀티 스레드: 빠르고 가벼운 전환.
    • 멀티 프로세스: PCB 전환으로 인해 느리고 무거운 전환.
  4. 안전성
    • 멀티 스레드: 자원을 공유하기 때문에 동기화 문제 발생 가능성.
    • 멀티 프로세스: 독립적인 메모리로 안전성이 높음.

 

반응형