호빵의 IT 개발소

프로세스와 스레드의 차이점은? 본문

CS(전공지식)/기술면접 준비

프로세스와 스레드의 차이점은?

호빵Stack 2025. 3. 29. 23:26
프로세스(Process) vs 스레드(Thread) 차이점 요약
  • 정의
    • 프로세스: 실행 중인 프로그램의 독립된 작업 단위
    • 스레드: 프로세스 내에서 실행되는 작업의 최소 단위
  • 메모리 구조
    • 프로세스: 각자 독립된 메모리 공간 사용
    • 스레드: 프로세스 메모리를 공유 (코드, 힙 등 공유 / 스택은 개별)
  • 자원 소비
    • 프로세스: 생성/전환 시 오버헤드 큼
    • 스레드: 상대적으로 가볍고 빠름
  • 통신 방식
    • 프로세스 간: IPC(파이프, 소켓 등) 필요
    • 스레드 간: 메모리 공유로 직접 접근 가능

 

 

면접 스타일 답변 예시:

프로세스는 운영체제가 자원을 관리하는 기본 단위로 각 프로세스는 독립적인 메모리 공간을 가지고 실행됩니다. 반면 스레드는 프로세스 내에서 실행되는 실행 단위이며 같은 메모리 공간을 공유하기 때문에 자원 접근이 빠르고 효율적입니다.
다만 프로세스는 안정성이 높은 대신 무겁고 스레드는 가볍지만 동기화 문제나 예외 상황에 주의가 필요합니다. 상황에 따라 적절히 선택하여 사용하는 것이 중요합니다.
Comments