栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

System.currentTimeMillis是否将始终返回> =先前调用的值?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

System.currentTimeMillis是否将始终返回> =先前调用的值?

简短的回答是否定的,

System.currentTimeMillis()
不是
单调的。它基于系统时间,因此在时钟调整(例如,通过NTP)的情况下,可能会以任何方式(向前或向后)变化。

System.nanoTime()
当且仅当基础平台支持时,它是单调的
CLOCK_MONOTONIC
-
在某些情况下(不是),请参见Java错误报告6458294上的注释,以获得良好的撰写。

(而且,作为一个额外的轶事,我个人观察到(几次)

System.currentTimeMillis()
在没有时钟调整的情况下跨线程运行“向后”-也就是说,在一个线程中对该方法的调用返回的值比调用低在另一个线程中,即使它是按时间顺序在“实时”之后发生的)

如果需要单调源,则

System.nanoTime()
在支持单调性的平台上是您的最佳选择。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412242.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号