wait() & notify() method in Java

roglog·2021년 8월 18일
0

java

목록 보기
2/2

1. wait() & notify()


  • 스레드 라이프사이클을 제어할 수 있는 메소드
  • Object에 정의되어 있음
  • 동기화 블럭내에서만 사용할 수 있음
  • 보다 효율적인 동기화를 가능하게 함
  • 선별적인 통지는 불가능

2. wait() Method


  • 동기화된 임계 영역의 코드를 수행하다가 작업을 더 이상 진행할 상황이 아니면, wait()을 호출하여 쓰레드가 락을 반납하고 기다리게 함

  • 매개변수가 있는 wait()은 지정된 시간동안만 기다림. 즉, 지정된 시간이 지난 후에 자동적으로 notify()가 호출되는 것과 같음


3. notify() Method


  • notify가 호출되면, 대기실에 있던 모든 쓰레드 중에서 임의의 쓰레드만 통지를 받음
  • notifyAll()은 기다리고 있는 모든 스레드에게 통보를 하지만, 그래도 lock을 얻을 수 있는 것은 하나의 스레드일 뿐이고 나머지 스레드는 통보를 받긴 했지만, lock을 얻지 못하면 다시 lock을 기다리는 신세가 됨




java의 정석 ch13
https://www.baeldung.com/java-wait-notify

profile
Full Stack Developer 📚

0개의 댓글