Java

Process와 Thread

Wanderer Kim 2025. 5. 16. 19:10
728x90

java의 동시성에 대해서 배우기 시작하면서 가장 기초적인 개념인 process와 thread에 대해서 정리해 보았다.

 

Process

  • process란 실행 중인 프로그램을 말한다. process는 메모리, CPU,등 자원을 할당받아 독립적으로 실행된다.
  • 특징
    • 동릭된 메모리 공간을 가진다.
    • 하나의 프로세스는 다른 프로세스의 메모리에 접근 불가하다.
    • 프로세스를 생성하는 데 큰 비용을 든다.
  • 예시: 크롬 부라우저, 엑셀, 메모장

Thread

  • thread는 prcoess 내에서 실행되는 작업 흐름의 단위이다.
  • 특징
    • 같은 process 안의 여러 thread는 코드, 데이터, 힙 메모리를 공유한다.
    • 각각의 thread는 별도의 스택 메모리를 가진다.(함수 호출, 지역 변수등을 저장)
    • thread의 생성 비용은 process에 비해 적다.
  • 예시: 크롬에서 동시에 실행되는 여러개의 탭
반응형