废话不多说,先分析:Thread.sleep(long millis),请看参考下图:
Thread.sleep(long millis) 会调用 public static void sleep(long millis, int nanos)方法,到此我们详细分析 sleep(long millis, int nanos)此方法,此方法中我们看得点方地方,请参考第二图中,红色方框中的代码,可以发现 可能 会抛 InterruptedException,
这就会导致出现:程序丧失及时取消活动或关闭能力
Thread.sleep(long millis)调用也会根据CPU的使用情况最终决定的,如果CPU比较繁忙时,可能会导致延后几秒都是有可能
SystemClock.sleep(long ms)方法:
会发现在SystemClock.sleep(long ms)会调用Thread.sleep(long millis),但是唯一的区别就是捕获异常然后并不做其他有效处理(具体搞了什么,不清楚),但这就不会导致程序中断异常
本文深入解析了Thread.sleep(long millis)方法的工作原理,并对比了SystemClock.sleep(long ms)的区别。通过分析,指出了这两种方法可能抛出InterruptedException的情况及对程序的影响。
7028

被折叠的 条评论
为什么被折叠?



