JAVA_31_Process & Program & Thread & CPU

hyeong taek jo·2023년 7월 13일

JAVA

목록 보기
31/39

📌 Program이란?

  • 작동할 계획들

📌 Process란?

  • 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다
  • 즉, CPU가 동작시키고 있는 것

1) Multi Process

  • 하나 이상의 프로세스를 가지는 것
  • ex) 카카오톡, 인스타그램
  • 각 프로세스는 서로 독립적

📌Thread란?

  • 작업단위
  • cpu가 데이터를 처리할 때 Thread라는 단위로 처리한다.
  • 한 가지의 작업

    - Multi Thread란

    • 한 프로세스가 두 가지 이상의 작업을 처리하는 것
    • ex) 카카오톡이라는 프로세스를 이용중에 사진을 보내는 스레드와 메신저를 보내는 두가지 스레드를 처리하는 것
    • Multi Process는 각 다른 작업이라서 하나가 오류나더라도 다른 하나에 영향을 끼치지 않지만 Multi Thread는 한 process에 Multi Thread가 있기 때문에 한 thread에서 문제가 발생하면 process 자체가 종료된다.
    • 대부분의 컴퓨터는 Multi Thread를 지원한다.

- main Thread

  • 자바의 모든 애플리케이션은 메인스레드가 main() 메소드를 싱행하면서 시작한다.

- single Thread

  • 싱글 스레드는 애플리케이션이 메인 스레드를 종료하면 프로세스도 종료된다.

- Multi Thread

  • 실행중인 스레드가 하나라도 있으면 프로세스는 종료되지 않는다.
  • 메인 스레드가 종료되더라도 작업 스레드가 계속 실행중이면 종료되지 않는다.

📌 CPU

  • CPU는 Thread단위로 처리한다.
  • CPU는 여러가지의 Thread를 동시에 실행하는게 아닌, 각각의 Thread를 조금씩 수행하면서 왔다갔다 하면서 수행하지만 너무 빠르기 때문에 동시에 실행하는것처럼 보여진다.
  • 대부분에 컴퓨터는 CPU가 한 개이고, 여러가지면 더 빠르게 수행한다.
profile
마포구 주민

0개의 댓글