프로세스와 쓰레드

song yuheon·2023년 8월 27일
0

Java

목록 보기
27/46
post-thumbnail

  • 프로세스: 동작 중인 프로그램의 실행 단위

  • 쓰레드: 프로세스 내에서 실행되는 작은 실행 단위
    - 싱글 쓰레드: 혼자서 실행

    • 멀티 쓰레드: 여러 개가 함께 실행
    • 쓰레드 생성은 프로세스 내에서 실행 요청이 발생할 때 발생하며, 생성된 쓰레드는 프로세스의 메모리(heap)와 실행 흐름 관리를 위한 메모리(stack)를 사용
  • 프로세스 구조 = 코드(예: 자바 메인 코드) + 데이터(실행 중에 필요한 저장 공간) + 메모리(stack + 힙) [변수 저장 공간]

  • 메모리(stack & 힙)와 데이터의 차이
    • 데이터: 초기화된 전역 및 정적 변수 저장
    • 메모리(stack & 힙)
      • 스택: 함수 호출 시 사용되는 메모리 영역
      • 힙: 동적으로 할당하거나 해제하는 개발자 관리 메모리 영역
    • 비유: 데이터는 집에 고정된 가구, 스택은 집에 놀러온 친구의 짐, 힙은 필요에 따라 주문한 배달음식 (사용 후 버림)
profile
backend_Devloper

0개의 댓글