Java tomcat 6上的编译器线程状态
为tomcat进程运行线程转储时,我注意到以下几点:Java tomcat 6上的编译器线程状态,java,multithreading,Java,Multithreading,为tomcat进程运行线程转储时,我注意到以下几点: "CompilerThread0" daemon prio=10 tid=0x02b57400 nid=0xe0c waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE 据我所知,编译器线程(anynumber)是由JVM运行的,用于将字节码编译成本机代码,但我希望对此进行确认。 但我主要关心的是线程声明处于“等待状态”,但后来声明处于可运行状态。 我误解
"CompilerThread0" daemon prio=10 tid=0x02b57400 nid=0xe0c waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
据我所知,编译器线程(anynumber)是由JVM运行的,用于将字节码编译成本机代码,但我希望对此进行确认。
但我主要关心的是线程声明处于“等待状态”,但后来声明处于可运行状态。
我误解了什么?最后,[0x00000000]是什么意思
谢谢所以请按字段进行细分:
“CompilerThread0”
-Tomcat拥有用于编译JSP的编译器线程。JSP在第一次被访问时就被编译成java类守护进程
-它是一个守护进程线程,以便在您选择退出时不会使您的应用保持活动状态prio=10
-最高优先级,以便JSP编译优先于其他请求nid=0xe0c
-实际上不知道李>
等待条件[0x0000000]
-线程当前正在阻塞,等待有人发出信号让它醒来并执行某些操作。与nid一样,我并不确定[0x000000]指的是什么。我怀疑它会保存一个对象监视器的地址,如果我们正在等待的话java.lang.Thread.State:RUNNABLE
-等待条件的线程仍被视为可运行希望有帮助 这真的是违反直觉的,因为其他一些线程被标记为“等待条件”,并且处于等待(睡眠)状态。nid是操作系统本机进程id