본문 바로가기
Dev DBAN/개발 용어 핥아보기

개발 용어 핥아보기 - 멀티 스레딩과 멀티 프로세싱

by 디반 2021. 12. 29. 09:52
반응형

멀티 스레딩과 멀티 프로세싱

 

멀티 스레딩이란?

  • 하나의 프로그램에서 여러 일을 동시에 처리하는 방식을 말한다.

멀티 스레딩을 사용하는 이유?

  • 프로세스를 이용해 동시에 처리하는 일을 스레드로 구현 시 메모리 공간과 시스템 자원 소모가 줄어든다.
  • 스레드 간 통신은 Heap 영역을 이용해 데티어를 주고 받기 때문에 통신방법이 프로세스에 비해 간단하다.
  • 스레드의 컨텍스트 스위칭은 프로세스와 다르게 캐시 메모리를 비울 필요가 없어 더 빠르다.
  • 자원 소모와 응답 시간이 줄고 처리량이 향상 되기 때문에 멀티 스레딩을 사용한다.

멀티 프로세싱과 멀티 스레딩의 차이점?

  • 멀티 프로세싱은 데이터, 힙, 스택 영역 모두를 공유하지 않지만 멀티 스레딩은 데이터, 힙, 스택 영역 중 스택 영역만 공유하지 않는다.
  • 멀티 프로세싱은 하나의 프로세스가 비정상적으로 종료되어도 다른 프로세스에 영향을 받지 않지만 멀티 스레딩은 하나의 프로세스 안에 여러 쓰레드가 작동하는 방식이기에 큰 영향을 받는다.
  • 컨텍스트 스위칭 시 공유 메모리 만큼 시간, 자원 손실이 멀티 프로세싱보다 멀티 스레딩이 더 낮다.
반응형

댓글


"); wcs_do();