인프런 커뮤니티 질문&답변

Ray Kim님의 프로필 이미지
Ray Kim

작성한 질문수

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. multi process와 multi thread를 비교설명해 주세요. (외 2문제)

Thread의 프로세스 메모리 사용 부분 질문

해결된 질문

작성

·

253

4

안녕하세요.

이번 강의에서 multi thread 환경에서 thread가 사용하는 process 의 메모리 영역에 대한 그림에 질문드립니다.

저번강의에서 thread는 process의 stack 영역을 제외하고 heap, data, code 영역은 공유한다고 들었는데 이번 강의 그림에는 code1,code2,code3이 분리가 되어있습니다.

프로세스 단위로는 code1,2,3 구분이 무의미하고 multi thread 단위 입장에서는 각각 다른 code를 수행할 수도 있고 같은 code를 수행할 수도 있지만 독립적인 단위라는 개념상 code를 분리하신거라고 이해하면 될까요? 

 

 

답변 2

2

Ray Kim님의 프로필 이미지
Ray Kim
질문자

빠른 피드백 감사드립니다. 이직 준비중인데 저에게 꼭 필요한  알짜배기 강의입니다. 👍👍

개발남노씨님의 프로필 이미지
개발남노씨
지식공유자

수업 자료가 더 보충될 수 있도록 좋은 질문 해주셔서 감사합니다!!

저에게 꼭 필요한 알짜배기 질문이였습니다 ㅎㅎ 

이직도 화이팅입니다 :)

2

개발남노씨님의 프로필 이미지
개발남노씨
지식공유자

안녕하세요 Ray님. 

해당 부분은 제가 오해하게끔 잘못 그림을 그렸던 것 같습니다.

 

저번강의에서 thread는 process의 stack 영역을 제외하고 heap, data, code 영역은 공유한다고 들었는데

이게  맞습니다. 

 

 이번 강의 그림에는 code1,code2,code3이 분리가 되어있습니다.

이 것은 제가 잘못 설명한 부분입니다. 제가 이렇게 표현했던 이유는 한 프로세스 내에서 각각의 쓰레드가 stack영역 뿐 아니라 PC register등을 각자 저장해두기 때문에 이를 표현하고 싶었던 거였습니다. 

 

code영역을 1,2,3으로 나눈건 제 과해석인 것 같습니다. 

 

"프로세스 단위로는 code1,2,3 구분이 무의미하고 multi thread 단위 입장에서는 각각 다른 code를 수행할 수도 있고 같은 code를 수행할 수도 있지만 독립적인 단위라는 개념상 code를 분리하신거라고 이해하면 될까요? "

이 말씀이 정확히 저의 의도를 파악하신 것 같아요!! 하지만 저도 자료를 좀 더 찾아보고 강의자료를 수정해 보도록 하겠습니다.

 

감사합니다 :) 

Ray Kim님의 프로필 이미지
Ray Kim

작성한 질문수

질문하기