【发布时间】:2013-10-17 12:55:18
【问题描述】:
在我的机器上启动一个 JVM 实例时,一个简单的类在 main() 中运行无限睡眠,我看到 JVM 中有四个关键线程(除了主线程):
- 附加监听器
- 引用处理程序
- 终结器
- 信号调度员
- 销毁JavaVM
我很想了解每个核心 JVM 线程的用途。通过快速的互联网搜索,我发现了有关这些线程的以下详细信息:
- 附加监听器:动态附加有一个附加监听线程 目标JVM。这是第一次启动的线程 附加请求发生。
- Signal Dispatcher:当操作系统向 JVM 发出信号时, 信号调度线程将信号传递给适当的 处理程序。
- Reference Handler:排队等待的高优先级线程 参考。 GC 创建一个简单的引用链接列表, 需要处理,这个线程快速将它们添加到适当的 排队并通知 ReferenceQueue 侦听器。
- 终结器:终结器线程调用终结器方法。
- DestroyJavaVM:此线程在程序退出时卸载 Java VM。大多数时候它应该在等待。
我想了解有关这些线程和参考文档(如果知道)的更多详细信息(或更正理解)。
【问题讨论】:
标签: java multithreading jvm