采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
悟空老师,在您的5-4节课程中,您解释是由于每次迭代中有异常,所以才不用加终端异常的条件,可是在前一节5-3中也可以不加如中断判断方法呀,不应该是run()中存在sleep(),由于sleep()本身特性造成的吗?
如果每次迭代,都可以响应中断(比如sleep方法),那么就可以不在while条件中做出判断,因为sleep方法会自动响应中断,并且抛出异常的。
在5-3中,虽然没有迭代,但也可以不加判断条件,那这个跟迭代有什么关系呢?
我看到5-3是加了中断检测的。如果没有sleep来检测,就需要自己检测线程状态
我明白你的困惑点了。之所以和迭代有关系,是因为一开始如果sleep不写在迭代里,又不每次检测中断状态的话,那么要等所有的迭代都运行之后才能检查到这个中断,因为等所有的循环都执行完了之后才会执行sleep方法,这样的话速度就太慢了,已经达不到相对及时中断的这一个要求了。 所以,如果在迭代中,每一次都加入休眠。由于每一次迭代的时间一般不会特别长,所以这样可以控制住我们响应中断的效率。
登录后可查看更多问答,登录/注册
完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题
1.9k 26
888 12
1.0k 12
2.5k 12
1.1k 11