반응형
멀티 스레딩과 멀티 프로세싱
멀티 스레딩이란?
- 하나의 프로그램에서 여러 일을 동시에 처리하는 방식을 말한다.
멀티 스레딩을 사용하는 이유?
- 프로세스를 이용해 동시에 처리하는 일을 스레드로 구현 시 메모리 공간과 시스템 자원 소모가 줄어든다.
- 스레드 간 통신은 Heap 영역을 이용해 데티어를 주고 받기 때문에 통신방법이 프로세스에 비해 간단하다.
- 스레드의 컨텍스트 스위칭은 프로세스와 다르게 캐시 메모리를 비울 필요가 없어 더 빠르다.
- 자원 소모와 응답 시간이 줄고 처리량이 향상 되기 때문에 멀티 스레딩을 사용한다.
멀티 프로세싱과 멀티 스레딩의 차이점?
- 멀티 프로세싱은 데이터, 힙, 스택 영역 모두를 공유하지 않지만 멀티 스레딩은 데이터, 힙, 스택 영역 중 스택 영역만 공유하지 않는다.
- 멀티 프로세싱은 하나의 프로세스가 비정상적으로 종료되어도 다른 프로세스에 영향을 받지 않지만 멀티 스레딩은 하나의 프로세스 안에 여러 쓰레드가 작동하는 방식이기에 큰 영향을 받는다.
- 컨텍스트 스위칭 시 공유 메모리 만큼 시간, 자원 손실이 멀티 프로세싱보다 멀티 스레딩이 더 낮다.
반응형
'Dev DBAN > 개발 용어 핥아보기' 카테고리의 다른 글
개발 용어 핥아보기 - 객체 지향 프로그래밍 (0) | 2022.01.13 |
---|---|
개발 용어 핥아보기 - 데드락 (0) | 2022.01.10 |
개발 용어 핥아보기 - 프로세스와 스레드 (0) | 2021.12.28 |
개발 용어 핥아 보기 - TCP와 UDP 간단 정리 (0) | 2021.12.23 |
개발 용어 핥아 보기 - OSI 7계층? (0) | 2021.12.22 |
댓글