Java/객체지향

[객체지향][쓰레드/thread] - 쓰레드 동기화의 단점을 보완하기 위한 wait()와 notify()

얄루몬 2022. 3. 4. 18:11

https://youtu.be/O1xo9fnV9kQ?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp 

📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다.


[wait()와 notify()]

  • 동기화를 진행할 때 떨어지는 효율성을 높이기 위해서 사용하는 wait( ), notify( )
  • Object 클래스에 정의되어 있으며, 동기화 블록 내에서만 사용할 수 있다.
    • wait() - 객체의 lock을 풀고 쓰레드를 해당 객체의 waiting pool에 넣는다.
    • notify() - waiting pool에서 대기중인 쓰레드 중 하나를 깨운다.
    • notifyAll() - waiting pool에서 대기중인 모든 쓰레드를 깨운다.