Multithreading Java中的守护进程和非守护进程线程
Java中的JVM负责在执行Java程序时创建非守护进程线程。对吗? 如果是这样,谁负责在Java中创建守护进程线程? 程序员和JVM都创建非守护进程线程?对吗? 寻找一个清晰的解释Multithreading Java中的守护进程和非守护进程线程,multithreading,jvm,virtual-machine,daemon,Multithreading,Jvm,Virtual Machine,Daemon,Java中的JVM负责在执行Java程序时创建非守护进程线程。对吗? 如果是这样,谁负责在Java中创建守护进程线程? 程序员和JVM都创建非守护进程线程?对吗? 寻找一个清晰的解释 提前感谢。不管是“JVM”还是“程序员”启动了线程。一个线程在启动前被调用,或者一个守护进程线程没有调用就创建了该线程,那么它就是守护进程线程。就这样 报告还说: 当Java虚拟机启动时,通常只有一个非守护进程线程(它通常调用某个指定类的名为main的方法) 没有责任创建守护进程线程。将线程标记为守护进程只有一个含
提前感谢。不管是“JVM”还是“程序员”启动了线程。一个线程在启动前被调用,或者一个守护进程线程没有调用就创建了该线程,那么它就是守护进程线程。就这样 报告还说: 当Java虚拟机启动时,通常只有一个非守护进程线程(它通常调用某个指定类的名为
main
的方法)
没有责任创建守护进程线程。将线程标记为守护进程只有一个含义,文档将继续解释:
Java虚拟机将继续执行线程,直到发生以下任一情况:
- 类
的运行时
方法已被调用,并且安全管理器已允许执行退出操作退出
- 通过调用
方法返回或抛出传播到run
方法之外的异常,所有非守护进程线程都已死亡run
所以,这是唯一的含义;非守护进程线程的存在可能会阻止JVM自动终止,而标记为守护进程的线程则不会。这是否回答了您的问题?对谢谢。