[英]Negative Delays in Java Swing Timers
我剛剛在一些代碼中遇到過這個,我很困惑。
timer = new Timer(-10, new
ActionListener()
{
//Do some stuff
});
擺動Timer對象中的負(或零)延遲有什么意義? 根據API,第一個事件立即被觸發,但是-10和負-100之間有什么區別? 在我的代碼中,它們似乎功能不同,但我無法確定它對Timer對象的更改。
javadoc說: “如果延遲小於或等於零,定時器一啟動就會觸發。” 。
所以答案是應該沒有區別。 您看到的明顯差異可能只是應用程序和/或運行時系統中不確定性的結果。
跟進
那么,每個后續事件也會在它之前的事件之后立即觸發,任何明顯的“延遲”只是系統的產物嗎?
延遲可能僅僅是因為線程切換不確定,以及Swing Timer使用一個線程為所有定時器執行事件監聽器這一事實。
您應該閱讀java.swing.Timer
和java.util.Timer
的javadoc以及它們鏈接到的其他文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.