My Blog

영상 후기 - [10분 테코톡] 🌷 코다의 Process vs Thread 본문

개발 관련 영상 후기

영상 후기 - [10분 테코톡] 🌷 코다의 Process vs Thread

JAESG 2023. 3. 3. 17:51

https://www.youtube.com/watch?v=1grtWKqTn50 

 

프로그램이 프로세스가 되면서 메모리에 올라간다.

Code, Data, Heap, Stack영역이 있는 메모리에 올라감.

프로세스 생성 시 Process Control Block이 생성됨.

 

프로세스 = code, data, heap,  stack영역을 공유 안함

스레드 = '' 모두 공유 함.

 

멀티 프로세스 = 많은 요청이 들어오면 부모 프로세스가 fork를 해서 처리를 한다 

각 프로세스는 독립적

IPC를 사용한 통신

자원 소모적, 개별 메모리 차지

Context Switching 비용이 큼

동기화 작업이 필요하지 않음.

 

멀티 스레드 = 프로세스 내에서 분리해서 여러 스레드로 나뉘어서 실행단위가 나뉘어지면 그게 멀티 스레드가 되는 것이다.

인텔리제이를 코드를 짜면서 인텔리제이는 추천코드를 안내해야됨. 이것이 멀티 스레드가 됨.

스레드끼리 긴밀하게 연결되어 있음.

공유된 자원으로 통신 비용 절감

공유된 자원으로 메모리가 효율적임

Context Switching 비용이 적음

공유 자원 관리를 해야함.

 

예전에 인터넷 익스플로어를 이용하다가 중지된 적이 있다.

이런 오류는 멀티 스레드를 사용해서 나타났다?

긴밀하게 연결되어 있기 때문에 한 스레드, 한 탭에 문제가 생기면 전체 프로세스의 영향이 감.

 

반면 구글 크롬은 다소 비효율적인 부분이 있을 수 있지만 멀티프로세스를 이용하기 때문에

멀티탭 간의 영향을 덜 받는다.

ㄷㄷ몰랐다

 

익스플로어는 멀티 스레드 

크롬은 멀티 프로세스

 

멀티프로세스랑 멀티쓰레드는 '처라방식'의 일종이기 때문에 소프트웨어 분야쪽에 가깝고

멀티코어는 조금 더 하드웨어의 측면에 가깝다.

 

멀티코어와 관련된 키워드는 병렬

728x90
Comments