[Tech] 멀티 프로세스/스레드 & 스택/큐
[Tech] 멀티 프로세스/스레드 & 스택/큐
멀티 프로세스와 멀티 스레드란?!
- 앞서 개념에서, 프로세스와 스레드의 차이를 알아봤다.
- 구분되는 특징으로, 프로세스끼리는 자원 공유가 없고
스레드끼리는 공유되는 자원이 있다는 것이다.
멀티 프로세스
- 여러 개의 프로세스로 구성한 프로그램에서, 각 프로세스가 하나의 작업을 처리하는 것을 의미.
I/O 요청이 많을 때 사용하는 방식
장점
- 하나의 프로세스에서 문제가 발생해도, 영향 없음!
단점
문맥 교환(Context Switching)이 잦으면 오버헤드 발생 우려.
멀티 스레드
- 여러 개의 스레드로 구성한 프로그램에서, 각 스레드가 하나의 작업을 처리하는 것을 의미.
CPU 작업이 많을 때 사용하는 방식
장점
- 자원 공유로 인해, 시스템 자원 효율성이 높아지고, 처리 비용이 낮아짐.
단점
- 하나의 스레드에서 문제가 발생하면, 전체 프로세스에 영향!
스택과 큐란?!
스택
- 스택은 LIFO(Last In First Out, 후입선출)으로 동작한다.
push는 삽입연산,pop은 삭제연산으로, 두 연산 모두 Top이라는 위치에서 일어난다.
큐
- 큐는 FIFO(First In First Out, 선입선출)으로 동작한다.
enqueue는 삽입연산,dequeue은 삭제연산으로, 각각 Rear, Front라는 위치에서 일어난다.
✨ 출처
This post is licensed under CC BY 4.0 by the author.