누군가가 나에게 사이의 차이를 설명시겠습니까 Sleeping
, Wait
, Park
, 및 Monitor
VisualVM과 스레드 상태.
이것이 내가 찾은 것입니다.
Running
: 스레드가 아직 실행 중입니다.
Sleeping
: 스레드가 잠자기 상태입니다 (스레드 객체에서 yield () 메소드가 호출 됨)
Wait
: 스레드가 뮤텍스 또는 장벽에 의해 차단되었으며 다른 스레드가 잠금을 해제하기를 기다리고 있습니다
Park
. 파킹 된 스레드는 허용을받을 때까지 일시 중단됩니다. 스레드 해제는 일반적으로 스레드 객체에서 unpark () 메서드를 호출하여 수행됩니다
Monitor
. 스레드는 실행을 재개하기 위해 조건이 참이되기를 기다리고 있습니다.
내가 이해할 수없는 것은 주립 공원인데, 실제로 스레드를 중단하는 것은 무엇입니까? 스레드가 실행을 중단하게 만든 코드를 코드에서 어떻게 감지합니까?
누군가이 점에서 나를 안내해 주시겠습니까?
감사.