![]() |
1
4
这是我们在学习并发性课程时讨论过的内容。我不确定您的实现是否是原创的,但确定潜在死锁的分析概念并不是唯一的。Java有一些动态分析工具,例如 JCarder some analysis that can be done statically 。 诚然,我已经有几年没有四处看看了。我不认为JCarder是我们谈论的具体工具(至少,这个名字听起来不熟悉,但我找不到其他东西)。但问题是,检测死锁的分析并不是一个最初的概念,我会从已经产生可用工具的研究开始——我怀疑算法(如果不是实现的话)是普遍可用的。 |
![]() |
2
3
我用做过类似的事情
这些天我用 actor model ,所以几乎不需要锁定数据(因为我几乎没有共享的可变数据) |
![]() |
3
2
如果您不知道,您可以使用 Java MX bean 以编程方式检测死锁线程。这对测试没有帮助,但至少可以帮助您在生产中更好地检测和恢复。
|
![]() |
4
0
这样,你可以发现一些死锁,但永远不能证明它们的存在。我最好开发一种静态检查工具,一种字节码分析器,为每个同步的方法提供注释。注释应该显示注释方法在资源图中的位置。然后任务是在图中查找循环。每个循环都意味着死锁。 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
![]() |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
![]() |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
![]() |
rhymes · 如何让线程操作相同的java列表 2 年前 |