본문

프로세스 VS 쓰레드

도입

이번 포스팅에서는 Process와 Thread의 차이점을 알아볼 예정이다.


개념

Process

https://en.wikipedia.org/wiki/Process_(computing)

프로세스는 하나 이상의 Thread를 실행하는 컴퓨터 인스턴스이다. 또한, 프로그램 실행 코드와 상태정보를 갖고 있다.

Thread

https://en.wikipedia.org/wiki/Thread_(computing)

쓰레드는 컴퓨터 스케쥴러가 독립적으로 실행할 수 있는 최소 단위, 하나의 프로세스 안에서 리소스를 공유한다.


Address space(메모리 관점)의 차이

Process

Process address space

  • Code: 실행파일과 관련된 어셈블리어 저장
  • Data: static 영역으로 전역 변수, 전역 메소드와 같이 항상 메모리에 존재하는 영역
  • Stack: 가변영역으로 함수 call stack처럼 할당되고 release되는 영역

Thread

Thread가 Process 내부에 생성되면 Stack영역은 독립적으로 갖고 Code, Data 영역은 Process와 공유한다. 

 

 

#프로세스 #쓰레드 #면접

'컴퓨터 > 이론: 개발' 카테고리의 다른 글

HashMap 동작원리 및 충돌해결  (0) 2020.07.15
Git Multi-branch 삭제  (0) 2020.05.06
DTO vs Entity  (0) 2020.03.15
Stored Procedure 개념  (0) 2020.03.11
Payload 개념  (0) 2020.03.09

공유

댓글