다른 스레드를보다 효율적으로 실행할 수 있도록 스레드를 "일시 중지"한다고 가정 해 봅시다. 블로킹이 무의미 해지면 (또는 거의 무의미한) 최소한의 수면 기간은 얼마입니까?Thread.sleep (long)은 얼마나 효과적입니까?
답변
자고있는 어떤 양이라도 적어도 yield()
를 호출하는 것과 기능상으로 동등 할 것이라고 나는 기대할 수 있습니다. 따라서 "무의미한"지점이 결코 없습니다. 운영 체제가 스레드로 돌아갈 때까지 기다리는 오버 헤드가 작은 절전 시간보다 길기 때문에 작은 값이 본질적으로 구분할 수없는 지점이 있습니다. 아마도 5-10 범위의 어딘가에서 발생하지만 물론 OS 별 일 것입니다.
일반화가 어렵고 특정 문제에 따라 달라질 수 있습니다. 그러나 스레드를 관리하는 데 수면을 사용하지 않을 것입니다. 스레드를 Executor
에 넣고 관리 할 수 있습니다. PriorityQueue를 사용하여 작업을 정렬 할 수도 있습니다.
심지어 IIRC Thread.sleep (0)은 스레드를 양보하여 같거나 높은 우선 순위를 가진 다른 스레드가 실행되도록합니다.
스레드 우선 순위에 달려있다. Thread.sleep은 스레드를 효율적으로 생성하고 절전 시간 동안 가장 낮은 우선 순위를 설정한다는 점을 이해했다.
다른 사람들도 언급했듯이 스레드를 수동으로 예약하지 않아야합니다. 그러나 뮤텍스를 공유 한 경우이를 해제 한 다음 Thread.sleep을 수행하여 스레드 잠금 상황을 해결하는 것이 좋습니다.
이것은 예약과 관련이 없습니다. 그것은 자원을보다 효율적으로 처리하는 것입니다. – someguy
- 1. IntelliJ의 CSS 검증은 얼마나 효과적입니까?
- 2. TDD와의 어색한/순수한 페어링 : 얼마나 효과적입니까?
- 3. lat long은 자주 바뀝니다.
- 4. ajaxcrawling이 serverside 웹 사이트 SEO에 비해 얼마나 효과적입니까?
- 5. 캔버스의 Thread.sleep
- 6. jpa oneToMany 관계가 효과적입니까?
- 7. 어떤 코드가 더 효과적입니까?
- 8. 이 linq 쿼리가 효과적입니까?
- 9. Perl의 GetOpt :: Long은 버그를 전환하여 버그를 수용합니까?
- 10. WM의 Java Thread.sleep() 시뮬레이션
- 11. Windows 서비스가 기다려야합니다. Thread.Sleep?
- 12. Windows 서비스에서 Thread.Sleep() 사용
- 13. C# : Thread.Sleep Not working
- 14. 웹 브라우저의 Thread.sleep 문제
- 15. C# Thread.Sleep() 지연이 발생합니다.
- 16. Thread.sleep()의 InterruptedException
- 17. C# Stroboscope, Thread.Sleep
- 18. 애니메이션을위한 Thread.sleep (Andengine)
- 19. 컴파일 타임 "strlen()"이 효과적입니까?
- 20. 어떤 crowdsourcing 플랫폼이 가장 효과적입니까?
- 21. Thread.sleep 전에 강제로 화면 출력
- 22. Robot.delay (int) 대 Thread.sleep (long)
- 23. Java의 Thread.sleep() 뒤에있는 논리는 무엇입니까
- 24. 어떤 태그 스키마가 가장 효과적입니까/효율적입니까?
- 25. 얼마나 얼마나 많은이 결과
- 26. Thread.currentThread(). sleep (시간) v/s Thread.sleep (시간);
- 27. 안드로이드에서 Thread.sleep() 대기 시간을 줄이는 방법
- 28. Thread.Sleep 동안 ThreadAbortException을 발생시킬 수 있습니까? ?
- 29. 소켓 읽기에서 Thread.Sleep()을 사용하지 마십시오
- 30. .NET 스레딩 모델 및 Application.DoEvents 대 Thread.Sleep
실행자가 스레드가 유휴 상태 일 때 예측할 수 있다고 생각하지 않습니까? 또는 – someguy