개체의 wait()
메서드는 동기화 된 컨텍스트에서만 호출 할 수 있습니다. 즉, 현재 스레드는 wait()
메서드를 호출하기 위해 개체에 대한 잠금을 가져야합니다. 이제 스레드 T1이 객체 (obj
)에 대한 잠금을 가지고 wait 메소드 obj.wait()
을 호출하는 경우 어떻게 다른 스레드가이 객체 (obj
)를 잠궈 서 이미 T1을 소유하고있는 wait를 호출 할 수 있습니까?스레딩 - 대기()
3
A
답변
9
wait
은 동기화 된 컨텍스트를 해제합니다. documentation :
현재 스레드는이 개체의 모니터를 소유해야합니다. 다른 스레드 때까지이 모니터과 대기의 스레드 출시 소유권에만 대기를 호출하는 기간 동안 동기화 할 필요가 일어나이 객체의 모니터 (...)
0
기다리고 스레드를 통지() 메소드를 호출 할 수 있습니다.
관련 문제
- 1. 스프링이있는 스레드, 대기, 알림?
- 2. 자바 멀티 스레딩 문제
- 3. 부모 대기 스레드 대기
- 4. 파이썬 스레딩
- 5. 응답 대기 중 대기 화면
- 6. Java의 멀티 스레딩
- 7. MySQL, 인덱스 및 "대기 대기 시간 초과"
- 8. C 윈도우에서 대기중인 대기 시간없이 대기
- 9. WCF 서비스로 스레딩
- 10. 대기 WaitingForMultipleObjects
- 11. 스레딩 개념
- 12. 스레딩 문제
- 13. EJB와 스레딩
- 14. pyqt4의 스레딩
- 15. 멀티 스레딩
- 16. 스레딩 모델
- 17. Android에서 스레딩
- 18. 스레딩 C#
- 19. 서블릿 스레딩
- 20. Shoooes에서 스레딩
- 21. 스레딩/동기화
- 22. 파이썬에서 스레딩
- 23. 파이썬에서 스레딩
- 24. 데이터베이스에 스레딩
- 25. 스레딩 아이폰
- 26. 스레딩 세마포어
- 27. 스레딩 패러다임?
- 28. 스레딩 .net
- 29. 'sys.excepthook'및 스레딩
- 30. 스레딩 C
예, 동기화 된 블록은 다른 스레드가 잠금을 획득 할 수있는 하프 록으로 들어갑니다. 동기화 된 블록은 두 명령문 둘 다에 있기 때문에 깨우는 스레드는 동기화 된 컨텍스트에 '조인'되며 컨텍스트 외부에서 '잠긴'리소스에 액세스 할 기회가 없습니다. –
"하프 록"..?! –