2012-09-26 3 views
5

저는 다양한 타이밍 방법에 대한 코드를 실험 해 왔습니다. 지연을 만드는 한 가지 방법은 thread.sleep (millis)를 사용하여 스레드를 실행하는 것입니다. 그러나 스레드가 "깨우는"시간이 정확하지 않으며이 시간 전후 일 수 있다고 아주 잘 말해줍니다. 그런 다음 nanos가 "여분의 나노초 정밀도"를 제공하는 곳에서 thread.sleep (millis, nanos)를 사용할 수있는 옵션이있는 곳에서 정의를 실행했습니다.스레드 수면 정확도

제 질문은 thread.sleep()이 밀리 초 동안 정확하지 않은 경우, 여분의 나노를 추가하는 데 사용하는 것은 무엇입니까? 이 값을 추가하면 OS를 더욱 엄격하게하거나 모니터링 할 때 더 높은 우선 순위를 허용하는 등의 수면 방법이 갑자기 더 정확합니까? 또한 .join()도 동일한 옵션을 가지고 있는데, thread.sleep() 부분에 대한 대답은 .join() 부분과 유사하다고 가정합니다. 고맙습니다.

답변

1
+0

링크 로이스 톤을 공유 주셔서 감사합니다 Thread.sleep를의 정확성과 OS 종속성에 대한 좋은 아이디어를 줄 것이다, 내가 전에 알고 있지만 도움이되지 않습니다보다가 몇 가지 더 tidbbits이있다 내 질문. thread.sleep (millis, nanos)가 thread.sleep (millis)와 다른 점은 아직도 궁금합니다. – Tam

+1

참조가 변경되었거나 처음 읽지 못했습니다. (피곤했습니다.) 그것은 실제로 도움이됩니다. 고맙습니다! – Tam

+1

링크가 작동하지 않습니다. 다음 번 스 니펫을 포함시켜 웹 사이트가 URL을 변경하면이 답변이 망각되지 않도록하십시오. – Silmarilos