컴퓨터/이론: 개발
프로세스 VS 쓰레드
heepie
2020. 7. 14. 21:19
도입
이번 포스팅에서는 Process와 Thread의 차이점을 알아볼 예정이다.
개념
Process
프로세스는 하나 이상의 Thread를 실행하는 컴퓨터 인스턴스이다. 또한, 프로그램 실행 코드와 상태정보를 갖고 있다.
Thread
쓰레드는 컴퓨터 스케쥴러가 독립적으로 실행할 수 있는 최소 단위, 하나의 프로세스 안에서 리소스를 공유한다.
Address space(메모리 관점)의 차이
Process
- Code: 실행파일과 관련된 어셈블리어 저장
- Data: static 영역으로 전역 변수, 전역 메소드와 같이 항상 메모리에 존재하는 영역
- Stack: 가변영역으로 함수 call stack처럼 할당되고 release되는 영역
Thread
Thread가 Process 내부에 생성되면 Stack영역은 독립적으로 갖고 Code, Data 영역은 Process와 공유한다.
#프로세스 #쓰레드 #면접