为什么Thread.sleep(1000);时间不对

为什么Thread.sleep(1000);时间不对

Java中的Thread.sleep()方法的精度是有一定的限制的,不能保证实际暂停的时间与设定的时间完全一致。Thread.sleep()方法用于使当前线程暂停执行一段时间,受到操作系统调度器的影响,以及系统的定时器分辨率限制。很多平台上(如Windows),操作系统的定时器分辨率通常是15.6毫秒(ms),因此即使你调用Thread.sleep(1),实际上可能会暂停15.6毫秒或更多的时间。

如果你想实现相对精准的计时可以使用System.nanoTime()方法来实现自定义的精确等待逻辑(线程不堵塞while循环读),或者 依赖SDK Rxjava 定时器来进行处理。

相关内容

舍甫琴科:我为世界杯等了12年
365安卓版

舍甫琴科:我为世界杯等了12年

⌛ 07-27 👁️ 7169
FIBA男篮世界杯数据库
365安卓版

FIBA男篮世界杯数据库

⌛ 07-15 👁️ 6796
终于知道天然锶型矿泉水的特点及好处,快来了解一下!
必发365娱乐在线官网

终于知道天然锶型矿泉水的特点及好处,快来了解一下!

⌛ 07-06 👁️ 7178
iPad爆炸了!再这样做,没准儿你的也会“炸”!
365bet官网最新网址

iPad爆炸了!再这样做,没准儿你的也会“炸”!

⌛ 08-17 👁️ 1897
英雄联盟钻石多久不打会掉段 英雄联盟钻石多久不打会掉段
必发365娱乐在线官网

英雄联盟钻石多久不打会掉段 英雄联盟钻石多久不打会掉段

⌛ 10-17 👁️ 9957
上海中国航海博物馆
365bet官网最新网址

上海中国航海博物馆

⌛ 09-17 👁️ 8861
Java线程同步的方法有哪些?
365安卓版

Java线程同步的方法有哪些?

⌛ 08-02 👁️ 5020