java线程执行完后自己结束吗

 我来答
落童尘E
2020-03-13 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:809万
展开全部
其实最佳答案的说法是有问题的,如果题主指的结束,是指方法块语句的执行结束的话,热心网友的说法是对的。但是对于线程本身,所有线程(包括主线程)在启动后都被CPU参照优先级交替调用,运行的顺序是无法预测的,但最后结束的一定是主线程。
网上有部分说法,展示的代码运行结果,“主线程先于其他线程结束,并不影响其他线程的运行”只有后半部分是对的。因为方法体(不管是自定义线程的run()还是主线程的main())中全部语句的执行完毕不代表所在线程的结束,可以用activeCount()返回当前运行的总线程数来验证这一点。另外,如果将自定义的线程对象设定为守护线程(setDeamon()),也可以很清楚看到即便main()方法中最后一句输出语句执行完毕,控制台仍会根据该自定义线程run()方法体的内容继续输出,这证明主线程还没结束——因为当线程组中只剩下守护线程时,JVM虚拟机会自动退出,如果主线程已经结束,唯一活动的线程在被设置成守护线程的情况下,程序会直接结束运行,不可能继续输出。
亓官亦玉劳通
游戏玩家

2019-12-10 · 游戏我都懂点儿,问我就对了
知道大有可为答主
回答量:1.1万
采纳率:31%
帮助的人:762万
展开全部
线程一启用成功,就会自动关闭线程句柄.
但是,如果线程中有死循环.线程是不会运行完就结束的.
因为未跳出子程序.所以结束不了线程.反之,跳出子程序了就说明自动结束了线程.
死循环子程序的解决方法.可以用强制结束线程
()或用变量来结束线程.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怀尔阳止千
2019-01-19 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:31%
帮助的人:629万
展开全部
如果代码该
thread线程中的代码执行结束就会关闭,但是如果该线程代码未执行完毕,即时主线程关闭,该线程也不会关闭
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式