[Java] 스레드와 상태제어

Hyo Kyun Lee·2022년 2월 4일
0

Java

목록 보기
44/66

1. 스레드와 상태제어

실제 JVM이 java를 실행한다고 할때, 여러 스레드를 매우 짧은 주기의 시간 동안 한 스레드를 처리하는 과정을 반복하기 때문에 마치 여러 개의 스레드가 동시에 실행되는 것 처럼 보인다.

2. 스레드 상태에 대한 정의

스레드가 상태제어받는 과정 동안 매우 많은 명령들을 처리하게 된다.
특히 메소드가 실행하면서 다른 메소드를 block(실행대기)처리 및 자원공유, block 해제 등 여러 명령을 실행한다.

  • sleep() : 특정시간이 지난다면 block 상태를 해제하고, Runnable 및 Running 상태로 돌아간다.
  • wait() : 호출 시 monitoring lock되어 실행대기 중인 다른 메소드를 실행하며, 다른 메소드가 notify(), notifyall()를 호출한다면 block 상태를 해제한다.
  • yield() : 다른 메소드에게 자원을 양보한다.

3. 참조자료

프로그래머스 강의 - 스레드와 상태제어
https://programmers.co.kr/learn/courses/9/lessons/276

0개의 댓글