728x90
공통점 : 둘다 wait 셋에 있는 쓰레드를 깨우는 역할을 한다.
차이점
notify : Object 클래스의 함수
interrupt : Thread 클래스의 함수
notify : wait 셋에 있는 쓰레드 중 하나를 랜덤하게 깨움 (waiting 상태의 쓰레드가 Runnable 상태로 바뀐다.)
interrupt : 특정 쓰레드를 wait 셋에서 깨운다. 이 때, InterruptedException이 발생한다.
(참고로, 오라클 문서에서는 interrupt를 쓰레드 취소 용도로만 사용할 것을 권장한다.)
+ 추가
notifyAll : wait 셋에 있는 쓰레드 모두를 깨운다.
stackoverflow.com/questions/30471285/what-is-the-difference-between-wait-notify-and-wait-interrupt
'JAVA' 카테고리의 다른 글
item 57) 지역변수의 범위를 최소화하라 (0) | 2021.03.20 |
---|---|
item 54) null이 아닌 빈 컬렉션이나 배열을 반환하라 (0) | 2021.03.12 |
item 53) 가변인수는 신중히 사용하라 (0) | 2021.03.12 |
HashMap 의 capacity와 load factor (0) | 2020.12.27 |
ThreadLocal (0) | 2020.11.22 |