栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

主线程将在子线程完成执行之前退出?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

主线程将在子线程完成执行之前退出?

Java区分用户线程和另一种称为守护程序线程的线程。这两种类型的线程之间的区别在于,如果JVM确定在应用程序中运行的唯一线程是守护程序线程(即,没有用户线程),则Java运行时将关闭应用程序。另一方面,如果至少有一个用户线程处于活动状态,则Java运行时不会终止您的应用程序。

当main()方法最初从Java运行时接收控制时,它将在用户线程的上下文中执行。只要主方法线程或任何其他用户线程保持活动状态,您的应用程序就会继续执行。

在您的情况下,线程是用户线程,因此可以在主线程退出之前完成。

我正在处理一些文件。在testA线程A中,单独的1个文件有时未得到处理。但是很多次

发生上述情况的原因可能是线程退出以外的其他原因。可能是文件锁定,同步问题等。

https://docs.oracle.com/javase/10/docs/api/java/lang/Thread.html:

Java虚拟机启动时,通常只有一个非守护程序线程(通常调用某些指定类的名为main的方法)。Java虚拟机将继续执行线程,直到发生以下任何一种情况:

已调用类Runtime的退出方法,并且安全管理器已允许进行退出操作。不是守护程序线程的所有线程都已死亡,要么通过从调用返回到run方法,要么通过抛出传播到run方法之外的异常引发。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515012.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号