프로세스(Process) vs 쓰레드(Thread)

프로세스

  • 프로세스는 실행중인 프로그램이다.
  • 디스크로에서 메모리로 적재되어 CPU의 할당을 받을 수 있다.

쓰레드

  • 프로세스의 실행단위
  • 한 프로세스 내에서 동작되는 여러 실행으로 프로세스내의 주소공간이나 자원을 공유한다.

멀티 쓰레드

  • 메모리 공간과 시스템 자원 소모가 줄어들게 된다.
  • 쓰레드 간의 공유된 자원을 사용해 쓰레드간의 통신이 간단하고 빠르다

멀티 쓰레드 문제점

  • 자원을 공유하기 때문에 신경을 써야한다.
  • 동기화 작업으로 인해 성능이 저하될 수 있다.

요약

프로세스는 운영체제로 부터 자원을 할당받는 자원단위(실행중인 프로그램) 쓰레드는 프로세스가 할당 받은 자원을 이용하는 실행 단위()

멀티 쓰레드는 적은 메모리 사용과 빠르지만 자원을 공유해 신경쓸 것이 많다. 멀트 프로세스는 자원을 많이 사용하지만 공유된 자원이 없어 신경쓸 것이 적다.

Built with Hugo
Theme Stack designed by Jimmy