[C++] Multi Process / Multi Thread

2024. 4. 19. 18:22언어 및 엔진/C++

Multi Process / Multi Thread

 

Multi Process

컴퓨터에서 연속적으로 실행되고 있는 프로그램. 메모리에 올라와
실행되고 있는 프로그램의 인스턴스. 운영체제로부터 시스템 자원을 할당받는 작업의
단위. 동적인 개념으로는 실행된 프로그램을 의미한다.
부모 자식간의 관계여도 독립적인 메모리 공간을 가지고 있고, 공유하지 않음

 

Multi Thread

프로세스 내에서 실행되는 여러 흐름의 단위. 프로세스의 특정한 수행
경로. 프로세스가 할당 받은 자원을 이용하는 실행의 단위.
부모 자식간의 관계라면 메모리 공간을 공유하고 있음
장점 : 메모리를 공유하기 때문에 컨텍스트 스위칭 시에 시간 손실이 줄어든다.
전역, 정적, new, malloc에 의한 모든 자료 공유
단점 : 하나의 변수를 조정함으로써 다른 함수에도 영향을 끼친다.

컨텍스트 스위칭

하나의 프로세스 실행 도중 인터럽트 요청에 의해 다음 우선 순위의
프로세스가 실행 되어야 할 때 프로세스의 상태 또는 레지스터 값의 교체 작업

'언어 및 엔진 > C++' 카테고리의 다른 글

[C++] Paging  (0) 2024.04.19
[C++] DeadLock  (0) 2024.04.19
[C++] Modern C++  (0) 2024.04.19
[C++] 메모리 구조와 메모리 단편화  (0) 2024.04.19
[C++] Smart Pointer  (0) 2024.04.19