swimminginthecode DIVE!

BACK/JAVA Basic

JAVA 13

dazz6 2024. 4. 19. 17:50
wait()
스레드 동기화를 위한 Object의 인스턴스 메소드로, synchronized 블록 내에서만 호출이 가능하다.
현재 스레드를 다른 객체가 이 객체에 대한 notify() 메소드를 호출할 때까지 대기한다.

notify()
wait() 메소드로 인해 대기 중인 스레드를 하나 깨운다.

wait() 과 sleep()
sleep() 메소드는 현재 스레드를 잠시 멈추게 할 뿐, lock을 release하진 않는다.

synchronized
동기화가 필요한 메소드나 코드블럭 앞에 사용하여 동기화할 수 있으며, synchronized로 지정된 임계 영역은 한 스레드가 이 영역에 접근하여 사용할 때 lock이 걸림으로써 다른 스레드가 접근할 수 없게 된다.
lock은 해당 객체당 하나씩 존재하며, synchronized로 설정된 임계영역은 lock 권한을 얻은 하나의 객체만이 독점적으로 사용한다.

 

'BACK > JAVA Basic' 카테고리의 다른 글

JAVA 15  (0) 2024.05.02
JAVA 14  (0) 2024.04.30
JAVA 12  (0) 2024.04.18
JAVA 11  (0) 2024.04.17
JAVA 10  (0) 2024.04.15