gpt4 book ai didi

java - JDBC 调用触发的 sun.misc.Unsafe.park

转载 作者:行者123 更新时间:2023-11-30 02:45:22 25 4
gpt4 key购买 nike

在我们的应用程序中,我们发现线程花费大量时间通过调用 sun.misc.Unsafe.park 方法来锁定。我们注意到,这种模式通常是由对数据库的 JDBC 调用触发的。

我对Unsafe.park方法了解不多。我想知道这是否是正常行为,表明线程正在等待来自数据库的输入,或者我们的应用程序是否存在一些需要改进的同步问题。

你知道这两个是哪一个吗?或者,您知道我们可以进一步调查此事的方法吗?

最佳答案

sun.misc.Unsafe.park 与 thread.wait 几乎相同,但它使用依赖于架构的代码,因为 park 是 native 调用,它可以获得性能方面的好处(这是java.util.concurrent中的一种流行模式,例如您可以在ConcurrentLinkedQueue中看到park的用法> 和线程池)。显然,您有一个多线程环境,并且数据库连接使用线程池来达到自己的目的。在jdk中parking带来了显着的优化。

关于您使用 JDBC 的情况,我建议您的情况发生了死锁。所有线程都在等待某个事件。您可以调查死锁,我建议您阅读这篇文章:

jdbc-deadlock-avoidance

jdbc and deadlocks manual

HTH

关于java - JDBC 调用触发的 sun.misc.Unsafe.park,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40338868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com