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

线程停止问题

所以要怎么停止线程呢?用:valatile boolean keepruning =false; 就可以了是嘛?

正在回答

1 回答

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

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
深入浅出Java多线程
  • 参与学习       186088    人
  • 解答问题       464    个

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

进入课程

线程停止问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信