繁体   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