簡體   English   中英

延遲為0時,Timer.schedule計划調度多長時間?

[英]How long does Timer.schedule schedule for when delay is 0?

Timer.schedule(TimerTask task, long delay) ,它表示如果delay為負,則將拋出該Timer.schedule(TimerTask task, long delay) ,但是如果delay為零,則不進行任何說明。 會發生什么? 我嘗試使用openjdk,它立即運行。 這個行為是在其他地方指定的還是未定義的(例如,這意味着在其他實現上是無限的,或者某些實現有時會是無限的,有時會是瞬時的)?

Java SE7文檔中

如果延遲小於或等於零,則計時器將在啟動后立即觸發

因此,您得到的結果是預期的行為。

我相信Java中的Timer是帶有任務隊列的線程。 項目應在應該觸發時在任務隊列中排序。 延遲為0的任務應該立即觸發,因此進入隊列頂部。 我相信您所看到的行為是預期的,並且應該跨平台和跨不同的jdk保持一致

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM