달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바
  • BOJ
  • 알고리즘
  • java algorithm
  • SQL고득점Kit
  • math
  • 알고리즘풀이
  • select
  • 혼공MySQL
  • Bronze III
  • 혼공SQL
  • HTML
  • 문제풀이
  • 혼자공부하는SQL
  • Scanner
  • BOJ algorithm
  • BRONZE
  • Bronze V
  • 백준알고리즘
  • SQL
  • Algorithm
  • Bronze IV
  • 백준
  • programmers
  • 프로그래머스
  • java
  • react
  • 백준문제풀이
  • MySQL
  • sql 문제풀이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

개념 창고/CS

[CS] 프로세스(Process)와 쓰레드(Thread)의 차이

2024. 7. 26. 00:40

프로세스(Process)
운영체제에 의해 메모리 공간을 할당받아 CPU에서 실행/제어되고 있는 프로그램이다.
데이터(data) + 자원(memory) + 스레드(Thread)로 구성돼 실제로 프로그램이 실행되기까지는
스레드가 데이터+자원을 활용하여 작업을 수행한다.
- 프로그램은 컴퓨터가 특정 작업을 수행하기 위해 따르는 명령어의 모음

쓰레드(Thread)
하나의 프로세스 내에서 여러 개의 실행 흐름(단일, 동시적, 병렬적)을 두어 작업을 효율적으로 처리하기 위한 모델이다.
프로그램 실행하면 JVM이 시작되고 JVM이 시작되면 자바 프로세스가 시작된다.
이 프로세스 안에 스레드가 있다.
여러 프로세스가 공유하는 하나의 스레드가 수행되는 일은 없다.
어떤 프로세스든 하나 이상의 스레드가 수행된다.
두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스라고 한다.
멀티스레드는 주어진 자원을 극한으로 사용하기 위한 모델이다.

프로세스(Process)와 쓰레드(Thread)의 차이점
프로세스는 완벽히 독립적이기 때문에 메모리 영역을 다른 프로세스와 공유를 하지 않지만
스레드는 해당 스레드를 위한 스택을 생성할 뿐 프로세스 내의 메모리를 공유해서 사용할 수 있다.

저작자표시 비영리 변경금지 (새창열림)
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바