Process와 Thread

Silex·2023년 2월 28일
0

movie

1. 프로세스

: 프로그램이 실행된 것
동시에 실행 되는 것처럼 보이기 위해서 실행단위는 시분할로 cpu를 점유하며 context switching을 한다

2. 스레드

: 한 프로세스 내에서 나뉘어진 하나 이상의 실행 단위
스레드는 자원공유를 하기때문에 공용 자원은 두고 각 스레드에서 사용하는 자원만 가져오게 된다.


한 어플리케이션에 대한 작업을 동시에 하기 위해서는 2가치 처리방식(멀티 프로세스, 멀티 스레드)이 있다

3. 멀티 프로세스

: 각 프로세스는 독립적으로 여러개 실행됨

4. 멀티 스레드

: 프로세스 내에서 분리해 여러 스레드로 나뉘어 실행단위가 나뉘어짐(자원을 공유함)

"멀티 프로세스를 더 많이 사용한다"
: 멀티 스레드는 여러 스레드들이 서로 긴밀하게 연결되어 있어 한 스레드에 문제가 생기면 전체 프로세스에 영향이 가게 된다.


5. 멀티 코어

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

  • 용어 정리

실행단위: cpu core에서 실행하는 하나의 단위(프로세스와 스레드를 포괄하는 개념)
프로세스: 하나의 스레드만 가지고 있는 단일 스레드 프로세스
동시성 - 한 순간에 여러가지 일이 아니라 여러가지 일이 짧은 전환으로 여러가지 일을 동시에 처리하는 것처럼 보이는 것

profile
"성공과 실패는 크고 중요한 것이 아니라 작고 섬세한 차이에서 갈린다. 모두가 중요하다고 여기는 일은 그만큼 많은 사람들이 신경 쓰니 웬만하면 놓치지 않는다. 결국 큰 것은 물론 작고 섬세한 것까지 신경 쓰냐 아니냐의 디테일이 승부의 핵심이다."

0개의 댓글