gpt4 book ai didi

Java 字节码操作以检测潜在的死锁

转载 作者:行者123 更新时间:2023-12-03 20:23:03 24 4
gpt4 key购买 nike

我在 Java 应用程序中遇到了另一个死锁,并开始考虑如何检测 future 潜在的死锁。我想到了如何做到这一点,但它似乎太简单了。

我想听听人们对此的看法。

我计划使用典型数据集在我们的测试环境中运行我们的应用几个小时。

我认为可以对我们的应用程序执行字节码操作,这样,无论何时它需要一个锁(例如,进入同步块(synchronized block)),锁的详细信息都会添加到 ThreadLocal 列表中。

我可以编写一个算法,稍后比较所有线程的列表,并检查是否有任何线程包含相反顺序的同一对锁 - 这将被报告为死锁可能性。同样,我会使用字节码操作将这种定期检查添加到我的应用程序中。

所以我的问题是:这个想法 (a) 原创且 (b) 可行吗?

最佳答案

这是我上并发类(class)时我们谈到的话题。我不确定您的实现是否是原创的,但确定潜在死锁的分析概念并不是唯一的。有java的动态分析工具,比如JCarder .还有对some analysis that can be done statically的研究.

诚然,自从我环顾四周以来已经有几年了。我不认为 JCarder 是我们谈论的特定工具(至少,这个名字听起来不熟悉,但我找不到其他任何东西)。但关键是检测死锁的分析并不是一个原始概念,我首先会研究已经产生可用工具的研究作为起点——我怀疑算法,如果不是实现,通常是可用的.

关于Java 字节码操作以检测潜在的死锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12215263/

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