SystemClock.sleep(long ms)与Thread.sleep(long millis)分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wtu178/article/details/78286608

废话不多说,先分析: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),但是唯一的区别就是捕获异常然后并不做其他有效处理(具体搞了什么,不清楚),但这就不会导致程序中断异常





猜你喜欢

转载自blog.csdn.net/wtu178/article/details/78286608