采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
代码如下图:
第29行主线程执行thread.interrupt(),而此时子线程还在执行while循环,这种情况下,子线程执行完while循环后到第18行Thread.sleep()也能抛出异常? 经测试是可以的。 但我以前一直以为:只有子线程正在睡眠时,主线程中执行thread.interrupt()才会导致子线程的sleep抛出异常。我以前的理解是错误的?
是的,你以前的理解是错误的。
非常感谢!
老师我看了Thread.sleep的源码注释:
也就是说,只要主线程执行了thread.interrupt(),哪怕子线程此时正在处于业务逻辑,那后面的sleep也会抛出异常?源码注释也不是特别清楚。
恩是的,哪怕子线程此时正在处于业务逻辑,那后面的sleep也会抛出异常
感谢老师有问必答!
登录后可查看更多问答,登录/注册
完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题
1.9k 26
942 12
1.1k 12
2.5k 12
1.1k 11