为什么long time = System.currentTimeMillis(); while(System.currentTimeMillis()-time < 1000){ }这条语句相当于sleep1000

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

福工刘德华

2017-11-13 19:10

long time = System.currentTimeMillis();
while(System.currentTimeMillis()-time < 1000){

}

写回答 关注

1回答

  • 慕标7443549
    2017-11-13 21:28:46
    已采纳

    这不就是时间差吗?long time就是当时运行到此时的当时时间,而while循环判断条件里面的是判断运行过程中的当前时间,当前时间和time的差值等于1000是不就跳出来循环了嘛

    福工刘德华

    那里面那个空循环就代表停顿对吧

    2017-11-14 13:25:01

    共 2 条回复 >

深入浅出Java多线程

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

186088 学习 · 464 问题

查看课程

相似问题