作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个应用程序的线程转储,其中显示了如下所示的 3 个线程。
===============
"http-443-11" daemon prio=10 tid=0x00000000473bc800 nid=0x3590 waiting on condition [0x0000000061818000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007612a3880> (a java.util.concurrent.Semaphore$NonfairSync)
"http-443-4" daemon prio=10 tid=0x00000000451f6000 nid=0x243a waiting on condition [0x0000000055354000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007612a3880> (a java.util.concurrent.Semaphore$NonfairSync)
"http-443-7" daemon prio=10 tid=0x000000004602e000 nid=0x2974 waiting on condition [0x000000005e6e7000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007612a3880> (a java.util.concurrent.Semaphore$NonfairSync)
===============
“等待条件[]”的意义是什么? [] 中的数字表示什么?
最佳答案
在线程栈中我们可以看到线程都是守护线程,正在等待任务的到来。由于这些线程是在 JVM 启动时创建的,因此除非 JVM 退出或任何非守护线程未运行,否则它们不会被杀死,因此它们等待任务到来。假设垃圾收集线程是一个守护线程,它可能不会一直运行,它可能处于等待状态。
关于 "waiting on condition"的java线程转储意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20217983/
我是一名优秀的程序员,十分优秀!