Java线程转储:`"waiting to lock"`和`"parking to wait for"`之间的区别是什么?
- 论坛
- Java线程转储:`"waiting to lock"`和`"parking to wait for"`之间的区别是什么?
19 浏览
Java线程转储:`"waiting to lock"`和`"parking to wait for"`之间的区别是什么?
在Java线程转储中,您可以在堆栈跟踪中看到锁的提及。这些信息似乎有三种类型:
1:
- 锁定<0x00002aab329f7fa0>(一个java.io.BufferedInputStream)
2:
- 等待锁<0x00002aaaf4ff6fa0>(一个org.alfresco.repo.lock.LockServiceImpl)
3:
- 等待停车<0x00002aaafbf70bb8> (一个java.util.concurrent.SynchronousQueue$TransferStack)
1:线程已获得对象0x00002aab329f7fa0上的锁。
2和3:似乎表明线程正在等待所述对象上的锁变得可用...但是2和3有什么区别呢?