java - 如何确定我的 Java 线程正在等待什么?
问题描述
我在 Amazon Linux 上使用 JDK 8 和 Wildfly 11。我已经安装了 jstack。我试图弄清楚为什么 CPU 利用率会上升,并且做一个线程转储会揭示这样的事情
"default task-80" #266 prio=5 os_prio=0 tid=0x00000000090f0000 nid=0x2458 waiting on condition [0x00007f32204d7000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000181c9e470> (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.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
如何确定线程正在等待的条件或锁?
解决方案
推荐阅读
- reactjs - How to push an object in array field using Firebase DB
- python - How can I do such that when a person enters a letter and hits enter, it will see if the letter corresponds to the question?
- curl - 使用 Rust 的比特币 cURL/JSON-RPC
- javascript - Why does codesandbox.io log the eventual state of my array?
- excel - 引用共享收件箱,错误:不允许分配给常量
- opayo - How to debug 3DSecureStatus
- angular - How to implement debounceTime the Angular way
- python - python readline和异步打印
- reporting-services - SSRS With A Disclaimer Page
- elasticsearch - How to delete ElasticSearch snapshots by prefix