首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么情况下jstack输出的java线程状态是waiting,系统线程状态是runnable?

什么情况下jstack输出的java线程状态是waiting,系统线程状态是runnable?

提问于 2023-01-11 17:34:39
回答 0关注 0查看 111

```

"thread" #168 prio=5 os_prio=0 tid=0x00007fba795e3000 nid=0x22be runnable [0x00007fb9c41c0000]

java.lang.Thread.State: WAITING (parking)

at sun.misc.Unsafe.park(Native Method)

- parking to wait for <0x00000005c1409df0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)

at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)

at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)

at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:550)

```

这是jstack打印出的一个线程的栈信息,第一行线程状态是runnable,第二行线程状态是WAITING

我理解第一行是代表操作系统的线程状态,第二行是java 的线程状态

我不明白什么情况下会导致出现这种情况?这种状态的线程有很多,不是偶现

求大佬指点

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档