최대 1 분 소요

이 글은 패스트캠퍼스의 현실 세상의 컴퓨터공학 지식 with 30가지 실무 시나리오 초격차 패키지 Online.를 보고 공부한 내용을 정리한 글입니다. 이해한 내용을 바탕으로 작성했기에 틀린 내용이 있을 수 있습니다.

스레드

  • 프로세스를 구성하는 실행 흐름의 단위
  • 하나의 프로세스 내부에 여러개의 스레드가 포함될 수 있으며 최소 한 개의 스레드가 포함된다.
  • 스레드마다 각기 다른 스레드 ID, 프로그램 카운터, 레지스터, 스택 등을 가지고 공유함

멀티 프로세스 vs 멀티 스레드

image

멀티 프로세스와 멀티 스레드는 얼핏 보면 비슷하게 동작한다. 그렇다면 이 두가지는 어떤 차이점이 있을까?

가장 주된 차이점은 바로 자원 공유 여부이다.

  • 프로세스 간에는 기본적으로 자원을 공유하지 않는다.
  • 하지만 스레드간에는 프로세스의 자원을 공유한다.

다음 사진처럼 멀티 프로세스는 기본적으로 공유하지 않는다.

멀티 프로세스


하지만 스레드는 프로세스 내에 다른 스레드에게 자원을 공유한다.

멀티 스레드

스레드의 이런 자원 공유는 분명히 효율적이지만 공유하는 자원에 문제가 생길 시 자원을 공유받는 모든 스레드에 문제가 발생하는 단점이 있다.

정리

  • 스레드는 프로세스 내의 존재하는 실행 흐름이다.
  • 멀티 스레드는 프로세스 내의 자원을 공유한다.

태그: ,

카테고리:

업데이트:

댓글남기기