프로세스와 스레드

선형채·2024년 3월 28일

프로세스와 스레드

프로세스란 ?

사전적 의미

  • 컴퓨터에서 연속적으로 실행되고 있는 프로그램
  • 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 (독립적)
  • 즉 동적인 개념으로 실행된 프로그램을 의미함

특징

  • 프로세스는 각각 독립된 메모리 영역(code, data, stack, heap)를 할당받는다.

  • 기본적으로 하나의 프로세스당 최소 1개의 스레드를 가지고 있다.

  • 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다.

스레드란 ?

사전적 의미

  • 프로세스 내에서 실행되는 여러 흐름의 단위
  • 프로세스가 할당받은 자원을 이용하는 실행의 단위

특징

  • 스레드는 프로세스 내에서 각각 Stack만 할당받는다.

  • 같은 프로세스 안에 있는 여러 스레드들은 같은 힙 공간을 공유함

  • 반면에 프로세스는 다른 프로세스로 직접 접근 불가.

  • 한 스레드가 프로세스 자원을 변경하면, 다른 이웃 스레드도 그 변경 결과를 즉시 볼 수 있다.

profile
JAVA BACK-END DEVELOPER 👩‍💻

0개의 댓글