스레드가 차단되었을 때 Java가 더 많은 CPU 리소스를 사용하는지, 즉 현재 다른 스레드에 의해 잠겨있는 모니터를 잠그기를 기다리는 지 묻고 싶습니다.Java 차단 스레드가 더 많은 CPU 리소스를 차지합니까?
이제 모니터를 잠그기 위해 대기중인 일부 스레드가 차단되는 스레드 덤프가 생겼습니다. 높은 CPU 사용량에 대해 책임을 질 수 있는지 확실하지 않습니다.
감사합니다.
EDIT (2011 년 5 월 6 일)이 동작이 Java SE 1.4.2과 관련이 있으면 언급하는 것을 잊었습니다.
@sjlee 님이 올린 답변에 따르면 스핀 록이 차단 된 스레드와 관련되어 있으면 CPU 사용량이 증가한다는 것을 알게되었습니다. 그러므로 차단 된 스레드를 비용이 적게 들도록 ** 항상 ** ** 조금 ** 강력한 ** 가정이라고 생각하지 않습니까? –
제발 용서해주세요.하지만 제 이전 의견에 대한 당신의 의견을 알고 싶습니다. 또는이 주제에 대한 링크 나 포인터가 좋습니다! –
@VishalK 차단 된 스레드는 상대적으로 오랜 시간 동안 차단하면 비용이 적습니다. 예 : 수십 밀리 초. 매우 짧은 시간 동안 블로킹은 높은 오버 헤드를 가질 수 있습니다. –