为什么用为什么用if((System.currenttime - time)<1000)而不用sleep(1000)?

来源:3-3 Java线程停止广为流传的错误方法---interrupt方法

慕斯8597481

2016-07-13 14:55

5:17的时候为什么用为什么用if((System.currenttime - time)<1000)而不用sleep(1000)?因为sleep(1000)指定是1000毫秒,而if((System.currenttime - time)<1000)可以是大于1000的其他数?因为sleep()可能会造成线程阻塞?

写回答 关注

1回答

  • 小娜子
    2016-07-13 22:28:58
    已采纳

    调用sleep()阻塞当前线程,当其他线程调用interrupt()的时候,sleep()会发生InterriptedException()中断异常,并清除中断状态。System.currenttime - time)<1000是if的判断条件,当这个值小于1000时进入if()代码块执行程序。

    慕斯8597...

    谢谢啦~

    2016-07-16 14:01:17

    共 1 条回复 >

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题