为了账号安全,请及时绑定邮箱和手机立即绑定

最赞回答 / 火云邪神的爷爷4298702
thread.interrupt()方法的作用是唤醒阻塞的线程,并抛出异常。当sleep后,线程阻塞,thread.interrupt()方法执行后,线程又被唤醒并抛出异常。因为线程被唤醒,所以this.isInterrupted()的值为false,while语句继续
苟富贵,不相忘。他日若可凌云志,定会回来报答慕课和老师们

最赞回答 / SeokHo
首先,线程会在把线程内代码全部跑完以后停止,这叫做正常停止。调用stop是强行停止,不推荐使用。这里使用了keeprunning = false,那么就会跳出while循环,然后继续进行while循环以下的剩余代码,等剩余代码跑完,线程内就没有代码可以跑了,于是该线程就自己停止了。换成别的情况也是一样,比如说你得线程里只有一个System.out.print(),那么在执行完这个打印任务后,线程就停止了,这种情况不需要keeprunning=false。这里使用keeprunning=false的目的只是...
非常好,要是能深入就更好

最新回答 / 冰断秋
你看是不是把JOIN方法放到了修改keepRunning值得上面
初学者 感觉讲的乱七八糟的 还会回头看的

已采纳回答 / xjc想学编程
final修饰的数组只是说你的数组不能再指向其他数组对象, 但它指向的数组的内容是可以变的!而final修饰的锁对象为了保证多线程进行过程中的安全
作者声音给我一种懒洋洋的感觉,看着看着我都犯困了
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消