SystemClock类讲解

本文详细介绍了Java中System.currentTimeMillis()获取纪元至今的毫秒数及uptimeMillis()记录系统启动后的非休眠时间等机制。同时探讨了Thread.sleep与SystemClock.sleep的不同之处,以及如何在Java中精确控制事件发生的时机。

1、System.currentTimeMillis()是一个标准的“墙”时钟(时间和日期),表示从纪元到现在的毫秒数。

   System.currentTimeMillis(),这种方式获得的时间就是按毫秒数计算的。  

   uptimeMillis()表示自系统启动时开始计数,以毫秒为单位。 


  大多数的方法接受一个时间戳的值除了uptimeMillis()时钟。


有几种机制控制事件发生的时间:

1、标准的方法像Thread.sleep(millis)     这些同步方法可能被Thread.interrupt()中断,并且你必须处理InterruptedException异常。

2、SystemClock.sleep(millis)是一个类似于Thread.sleep(millis)的实用方法,但是它忽略InterruptedException异常。

1、public static long currentThreadTimeMillis () 返在当前线程运行的毫秒数。

4、public static boolean setCurrentTimeMillis (long millis) 设置当前的"墙"时间,要求调用进程有许可权限。返回是否成功。

5、public static void sleep (long ms) 等待给定的时间。和Thread.sleep(millis)类似,但是它不会抛出InterruptedException异常。事件被推迟到下一个中断操作。该方法直到指定的时间过去才返回。

6、public static long uptimeMillis () 返回系统启动到现在的毫秒数,不包含休眠时间。就是说统计系统启动到现在的非休眠期时间。
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值