학교 공부/NHN Academy

wait과 notify

코딩하는 동훈 2024. 9. 10. 21:35

wait과 notify는 Object클래스에 정의 되어있는 스레드 간의 동기화를 위해 사용되는 메서드이다.

여러 스레드가 공유 자원에 접근할 때 효율적으로 자원을 사용할 수 있도록 도와준다.

 

wait()

현재 스레드를 일시 정지시킨다. 이 메서드를 호출한 스레드는 특정 조건이 충족될때까지 기다린다.

synchronized 블록 안에서만 사용이 가능한다. 메서드를 호출한 스레드는 공유 자원을 잠금 상태에서 해제하고 다른 스레드들이 해당 자원을 사용할 수 있게 된다.

 

notify()

wait()상태에 있는 스레드 중 하나를 깨워서 실행될 수 있도록 한다.

synchronized 블록안에서만 사용할 수 있다. 이 메서드를 호출한 스레드는 대기 중인 스레드를 깨워서 자원을 사용할 수 있게 만든다.