垃圾回收器是一个由JVM调用和控制的守护进程线程。它有一个父线程吗?我有点困惑这个..守护线程垃圾收集器的父线程是什么?
0
A
回答
3
Java不会记录任何线程的(创建)父线程,并且(假设的)父子关系对线程的工作方式没有影响。
Java对此的最接近的是ThreadGroup的概念。每个线程都是一个线程组的成员,线程组可以包含其他线程组,并且线程组形成一个以最初的线程组为根的可导航树。然而,由于ThreadGroup的暂停/恢复/杀死线程是危险的并且不推荐使用,ThreadGroups并不能真正让你做很多事情。
垃圾回收器线程可能是最初的ThreadGroup的成员。但是,GC线程也可能是特例,而不是任何ThreadGroup的成员。无论哪种方式,它都不会影响任何东西......除非您编写遍历ThreadGroup树的程序。
守护进程线程只是在守护进程启动之前设置的线程。这与ThreadGroup机制无关。
1
没有没有。守护进程线程继续运行,直到您调用exit()或所有非守护进程线程都已死亡。
换句话说,这不是因为你在另一个线程中创建了一个线程,它们是它们之间的父子关系。他们有独立的生活。
0
如果每个java线程都映射到正在使用的操作系统的lwp,则默认情况下JVM创建的所有线程都是启动java进程本身的父进程的子进程。所以,java进程中没有父进程的垃圾收集线程。所以像垃圾回收线程,终结器和引用处理程序线程这样的线程都是主进程的父进程的子进程。
您可以在Solaris计算机上查看ps -elL
的输出以确认此情况。
我认为这回答你的问题。如果不是,请回复。
相关问题
- 1. 为什么python没有垃圾收集器线程?
- 2. 线程没有垃圾收集/线程池线程/ C#/ .net
- 3. Java线程垃圾收集与否
- 4. Python线程垃圾回收
- 5. 守护线程是什么意思?
- 6. 为什么G1垃圾收集器在完整垃圾收集中使用单线程?
- 7. java线程 - 守护线程?
- 8. 保守的垃圾收集器
- 9. 守护线程
- 10. Java的垃圾收集器会中断一个线程吗?
- 11. C#垃圾收集器的“KeepAlive”和线程
- 12. Java:我需要从垃圾收集器保护一个线程对象吗?
- 13. 守护线程Java
- 14. .NET垃圾回收和原生线程
- 15. 守护进程线程是否也是守护进程线程启动的线程?
- 16. Java:什么是垃圾收集器收集?
- 17. 为什么这是垃圾收集
- 18. java守护进程线程
- 19. 垃圾收集器
- 20. 是否可以更改垃圾收集器线程的优先级?
- 21. 如何防止从不同线程垃圾收集PyQt对象?
- 22. 守护线程说明
- 23. Node.js的垃圾收集器
- 24. 垃圾收集器在收集死对象时会做什么?
- 25. 垃圾收集器如何确定对象是否是垃圾?
- 26. Java中的守护进程和非守护线程优先级
- 27. 在java中的守护进程线程
- 28. 线程真的没有被垃圾收集在WTK模拟器上?
- 29. 为什么FastBitmap无法收集垃圾?
- 30. 为什么VisualVM在Linux上不显示守护程序线程?