不同的(HotSpot)JVM线程类型有什么作用?

Flo*_*oux 15 java multithreading jvm

我看到HotSpot JVM中实现了六种线程类型:VMThread,CGCThread,PGCThread,JavaThread,CompilerThread和WatcherThread.但是我不知道哪种线程类型正在做什么.这是我到目前为止所理解的:

  • VMThread:运行垃圾收集器等VM任务.
  • CGCThread:并发垃圾收集器.
  • PGCThread:并行垃圾收集器(与CGC的差异?).
  • JavaThread:程序的线程,我想.
  • CompilerThread:编译器的一个线程?
  • WatcherThread:?

其他问题:其他JVM怎么样?

box*_*box 5

您可以在OpenJDK网站上找到简要说明:

VM线程的主要种类如下:

  • VM线程:VMThread的此单例实例负责执行VM操作,下面将对此进行讨论
  • 定期任务线程:WatcherThread的此单例实例模拟计时器中断,以在VM中执行定期操作
  • GC线程:这些类型不同的线程支持并行和并发垃圾回收
  • 编译器线程:这些线程执行字节码到本机代码的运行时编译
  • 信号调度程序线程:此线程等待过程指示的信号,并将其调度到Java级别的信号处理方法

您可能需要阅读整个“线程管理”段落,因为它会继续进行进一步说明,例如VM线程负责什么。