2012-06-25 27 views
1

我們都知道java線程中可用的睡眠方法..我知道定時精度取決於系統中硬件時鐘的精度..所以我的問題是這種方法有多精確或更好說什麼是考慮一臺普通電腦的誤差以毫秒或納秒爲單位。睡眠方法在時間精度上是否準確?

我的要求是使用睡眠定時來同步數據傳輸。數據將以固定的間隔發送(10-20毫秒),並且如果由於連續的定時錯誤導致延遲超過1秒可能不好!

那麼建議使用也是方法?

+2

關於'Thread.sleep'不準確的一些非常好的東西在這裏:http://www.javamex.com/tutorials/threads/sleep.shtml – Tudor

+0

「地獄不好」聽起來不是你想要依賴的情況嚴格按照「睡眠」而不是使用同步事件:) –

+0

睡眠比煉獄更準確,但比地獄更不準確。 – bmargulies

回答

1

如果你需要同步數據,我建議你自己做,而不是依靠線程在預設時間喚醒。即使用一個線程模擬事件發生的時間,按照您期望它們發生的順序進行。