Process VS Thread

Y39·2023년 3월 8일
0

toBeProgrammer

목록 보기
27/88

movie

용어 정리

  1. 실행 단위
    : 프로세스 + 스레드 => 한 cpu에서 실행하는 하나의 단위
  2. 프로세스
    : 하나의 스레드가 있는 단일 프로세스
  3. 동시성
    : 짧은 전환으로 여러 일을 동시에 처리하는 것처럼 보임(동시에 여러 일을 처리X)

프로그램과 프로세스

  • 프로그램: 피자 레시피
  • 프로세스: 피자
  • 메모리
    • Code, Data(변수), Heap(객체), Stack(참조값, 지역변수)
    • 위와 같은 재료들이 메모리로 올라감
  • 실제 사용 때에는?
  • 스레드: 경량화된 프로세스
    • 모조리 다빼고 다시 넣을 필요 없이 스레드로 간편
    • 공용으로 사용할 건 빼고 필요한 것들만 넣고 빼기

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

  • 모두 처리방식의 일종이다.
  1. 멀티 프로세스
    : 부모가 자식 프로세스를 복제해서 처리
  • 동기화 작업을 신경쓰지 않아도 됨
  • 멀티 스레드보다는 비효율적
  1. 멀티 스레드
    : 프로세스 내의 스레드 하나가 하나의 작업을 담당
    => 한 프로그램 내의 다양한 작업을 처리
  • 멀티 프로세스보다는 효율적
  • 동기화 작업을 신경써야함
  • 문제점: 프로세스에서 문제가 발생하면 다수의 스레드에 영향
  1. 멀티 코어
    :cpu 내의 물리적으로 코어를 나누어서 작업을 처리
  • (하나의 코어 속에서)동시성: 하나의 cpu에서 작업단위를 쪼개서 동시에 일어나는 것처럼 보이는 것
  • 병렬처리: 여러 코어를 사용해서 하나 이상의 프로세스를 한번에 처리하게 만드는 것
profile
System.out.print("Bold")

0개의 댓글