Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

JinHee's Board

자바 쓰레드와 프로세스 본문

공부한 내용정리/Java

자바 쓰레드와 프로세스

JinHee Han 2020. 10. 10. 13:15

프로세스(Process)

  • 프로그램을 실행시켜서 출력시키는 과정
  • 운영체제로부터 시스템 자원을 할당받는 작업의 단위

멀티 프로세스 : 여러 프로그램들을 독립적으로 실행시켜 작업

쓰레드(Thread)

  • 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업단위
  • 프로세스가 발생했을 때 main 안의 실행문이 하나의 쓰레드
  • 프로세스가 할당받은 자원을 이용하는 작업의 단위

멀티 쓰레드 : 하나의 프로세스 에서 여러 쓰레드를 실행시켜 작업

 

쓰레드의 생성 방법

  1. Thread 클래스 상속
  2. Runnable 인터페이스 상속

Thread와 Runnable 차이점

  • 객체 생성 가능성의 여부에 차이가 있다.
  • Thread는 클래스라 인스턴스화(객체화) 가 가능하다.
  • Runnable는 인터페이스 이기 때문에 인스턴스화가 불가능하다.

쓰레드의 생명주기

  1. Runnable
    • 스레드 실행 준비 단계
    • start()메소드를 호출하면 run() 메소드 에 설정된 스레드가 Runnable 상태로 진입한다.
  2. Running
    • 실행 상태
    • Runnable 상태의 쓰레드 중에서 우선순위가 높은 순서대로 run() 메소드를 실행시켜 Running 상태로 진입한다.
  3. Dead
    • 종료상태
  4. Blocked
    • 지연상태
    • wait() 메소드나 sleep(시간) 메소드에 의해 Blocked 상태로 진입할수 있고 wait()은 특정 메소드를 실행시켜서, sleep(시간)은 시간이 지나면 자동으로 Runnable 상태로 전환된다.
Comments