4차산업혁명의 일꾼/Java&Spring웹개발과 서버 컴퓨터

우아한테크코스 - Process와 Thread

르무엘 2023. 6. 25. 22:41

(1) [10분 테코톡] 🌷 코다의 Process vs Thread - YouTube

실행단위는 cpu core에서 실행하는 하나의 단위인데 프로세스와 스레드를 포괄하는 개념인데

하드디스크에서 프로그램을 돌리면 메모리에 프로세스가 올라간다.

 

프로세스는 독립적이고 IPC를 사용해서 통신한다. -> 동기화작업이 필요하지 않다.

Context Switching 비용이 크다(자원소모적, 개별 메모리 가짐)

이에 비해 Thread는 긴밀히 연결되어 있어 공유된 자원으로 통신비용이 절감되고 메모리도 효율적이어서

Context Switching 비용이 적다.(공유자원관리를 해야한다. -> 동기화 작업이 필요하다.)

CPU에서 코어는 시분할로 전환해서 실행하여 동시서을 보인다.

CPU에 코어가 두개면 동시에 하나이상의 프로세스가 한꺼번에 진행되는 것이다.

 

프로세스는 프로그램이 실행된 것이고

스레드는 프로세스 내에서 나뉘어진 하나이상의 실행 단위인데

작업을 동시에 하기 위해서는 2가지 처리방식(멀티 프로세스, 멀티스레드)가 있다.

동시에 실행되는 것처럼 보이기 위해서 실행단위는 시분할로 cpu를 점유하여 context switching 를 한다.

멀티 프로세스는 독립적인 메모리를 가지고 있지만 멀티 스레드는 자원을 공유한다. 그것에 따른 각각의 장단점이 있다.

멀티 코어는 하드웨어 측면에서 실행 단위를 병렬적으로 처리할 수 있도록 여러 프로세서가 있는 것이다.

 

 

 

요리사가 프로세스고 만드는 요리 하나하나가 스레드~!

(1) 프로세스는 뭐고 스레드는 뭔가요? - YouTube

LIST