Java 线程等待锁定未(明显)锁定的对象

2023-12-29

通常,当我要求进行线程转储时,很容易解释性能不佳的系统的症状;即通常情况下,我可以看到许多线程显然正在等待已被另一个线程获取但未释放的监视器。

在本例中,我有很多线程在等待监视器 (0x965ad100),但似乎没有一个线程首先拥有该监视器。可以使用以下签名来识别有问题的线程:

等待锁定 (uk.gov.dti.og.fox.ConAgent)

我试过用谷歌搜索这个,我似乎找到的都是讨论锁定的监视器的帖子,没有关于等待未锁定的监视器的帖子。

完整的线程转储:http://www.basson.at/docs/stackoverflow/thread_dump.txt http://www.basson.at/docs/stackoverflow/thread_dump.txt

我希望这里有人可以解释我所看到的,或者至少为我指出正确的方向。预先感谢您的任何回复。


当线程转储被获取时,线程有可能(尽管不太可能)刚刚释放了监视器。释放监视器和下一个线程获取它之间可能有一个短暂的时间段。如果您没有真正陷入僵局,这可以解释您所看到的情况。尝试另一个线程转储并检查该线程转储。

更有可能的是,某个地方有一个线程已经持有监视器。有时并不明显。您的堆栈跟踪有一些“锁定”行,其中列出了持有某些锁的线程,但该列表不一定完整。例如,我怀疑通过 JNI 获取的锁未列出。

如果您可以将内置锁更换为,例如java.util.concurrent.locks.ReentrantLock,然后您可以挂起程序并附加调试器,找到您关心的锁,并使用以下命令找到锁所有者getOwner method.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 线程等待锁定未(明显)锁定的对象 的相关文章

  • 是什么决定了从 lambda 创建哪个函数式接口?

    请考虑这个例子 import java util function Consumer public class Example public static void main String args Example example new
  • 这个函数(for循环)空间复杂度是O(1)还是O(n)?

    public void check 10 for string i list Integer a hashtable get i if a gt 10 hashtable remove i 这是 O 1 还是 O n 我猜测 O n 但不是
  • Java:迭代 Collection 的最佳方法(此处为 ArrayList)

    今天 当我看到一段我已经使用了数百次的代码时 我很高兴地开始编码 迭代集合 此处为 ArrayList 出于某种原因 我实际上查看了 Eclipse 的自动完成选项 这让我想知道 在什么情况下以下循环比其他循环更好使用 经典的数组索引循环
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 运行具有外部依赖项的 Scala 脚本

    我在 Users joe scala lib 下有以下 jar commons codec 1 4 jar httpclient 4 1 1 jar httpcore 4 1 jar commons logging 1 1 1 jar ht
  • Cassandra java驱动程序协议版本和连接限制不匹配

    我使用的java驱动程序版本 2 1 4卡桑德拉版本 dsc cassandra 2 1 10cql 的输出给出以下内容 cqlsh 5 0 1 Cassandra 2 1 10 CQL spec 3 2 1 Native protocol
  • 如何模拟从抽象类继承的受保护子类方法?

    如何使用 Mockito 或 PowerMock 模拟由子类实现但从抽象超类继承的受保护方法 换句话说 我想在模拟 doSomethingElse 的同时测试 doSomething 方法 抽象超类 public abstract clas
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 具有 java XSLT 扩展的数组

    我正在尝试使用 java 在 XSLT 扩展中使用数组 我收到以下错误 Caused by java lang ClassCastException org apache xpath objects XObject cannot be ca
  • IntelliJ - 调试模式 - 在程序内存中搜索文本

    我正在与无证的第三方库合作 我知道有一定的String存储在库深处的某个字段中的某处 我可以预测的动态值 但我想从库的 API 中获取它 有没有一种方法可以通过以下方式进行搜索 类似于全文搜索 full程序内存处于调试模式并在某个断点处停止
  • 欧洲中部时间 14 日 3 月 30 日星期五 00:00:00 至 日/月/年

    我尝试解析格式日期Fri Mar 30 00 00 00 CET 14至 日 月 年 这是我的代码 SimpleDateFormat formatter new SimpleDateFormat dd MM yyyy System out
  • Jersey 客户端请求中未设置 Content-Length-Header

    我正在使用 Jersey Client 访问网络服务 如下所示 response r accept MediaType TEXT PLAIN TYPE header content length 0 post String class 其中
  • 在 Spring 中重构这个的最佳方法?

    private final ExecutorService executorParsers Executors newFixedThreadPool 10 public void parse List
  • 替换后增量

    我自己已经有一个问题了 但我想扩展它后增量示例 https stackoverflow com questions 51308967 post increment with example char a D int b 5 System o
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • Eclipse 中 Spring MVC 模型对象的 (jsp /jstl) 视图中的代码辅助

    在 Spring MVC 中 当将对象放置在视图模型中时 如下所示 public String getUser Model model fetch user model addAttribute user user return viewN
  • ServletContainer 类未找到异常

    我无法再编译我的球衣项目 并且出现以下异常 GRAVE Servlet Project API threw load exception java lang ClassNotFoundException com sun jersey spi
  • 调整添加的绘制组件的大小和奇怪的摆动行为

    这个问题困扰了我好几天 我正在制作一个特殊的绘画程序 我制作了一个 JPanel 并添加了使用 Paint 方法绘制的自定义 jComponent 问题是 每当我调整窗口大小时 所有添加的组件都会 消失 或者只是不绘制 因此我最终会得到一个
  • GUI Java 程序 - 绘图程序

    我一直试图找出我的代码有什么问题 这个想法是创建一个小的 Paint 程序并具有红色 绿色 蓝色和透明按钮 我拥有我能想到的让它工作的一切 但无法弄清楚代码有什么问题 该程序打开 然后立即关闭 import java awt import

随机推荐

  • Pandas 和 Python 数据框和条件移位函数

    数据框中是否有条件 移位 参数 例如 假设我拥有一个二手车场并且我的数据如下 SaleDate Car 12 1 2016 Wrangler 12 2 2016 Camry 12 3 2016 Wrangler 12 7 2016 Priu
  • 从 App Engine 使用 GCS json-api 时出现“超出配额”

    我在 App Engine 上使用 Go 大多数情况下 我使用文件 API http godoc org code google com p appengine go appengine file访问 GCS 效果很好 除了删除不起作用 h
  • WPF 不活动和活动

    我正在尝试处理 WPF 应用程序中的用户不活动和活动 以淡入淡出一些内容 经过大量研究后 我决定采用 Hans Passant 发布的 至少在我看来 非常优雅的解决方案here https stackoverflow com questio
  • 为什么我打印的数组末尾有一个 1?

    这是一个超级简单的数组打印 但是当我使用 print r 时我已经到了最后 然后我得到 Array 0 gt 1 1 gt 2 2 gt 3 3 gt 4 1 print r http php net print r已经打印了数组 不需要e
  • AVAudioPlayerNode.scheduleFile() 的completionHandler 调用得太早

    我正在尝试在 iOS 8 中使用新的 AVAudioEngine 看起来player scheduleFile 的completionHandler被调用before声音文件已播放完毕 我正在使用长度为 5 秒的声音文件 并且println
  • 删除Kafka 0.8.1.1中的主题

    我需要删除主题test在 Apache Kafka 0 8 1 1 中 正如表中所表达的文档在这里 https kafka apache org documentation html basic ops modify topic 我已经执行
  • Android smack 库订阅(不显示入站或出站通知)

    我正在开发一个 Android 聊天应用程序 其中我使用 smack 库进行即时消息传递 一切工作正常 但最大的问题在于订阅 如何向其他用户发送订阅通知 这是我发送订阅请求的代码 public void run runOnUiThread
  • Lotus Domino Designer 中的源代码控制

    多年来 我们一直在一个大型项目中使用 Domino 但没有任何真正的源代码控制 除了服务器备份 因此 当我注意到最新的 Designer 8 5 3 具有与 SVN 集成的潜力时 我感到非常高兴 我无法仅通过以下方式让 SVN 工作原始说明
  • $watch'ing Angular 指令中的数据更改

    我怎样才能触发 watch当操作内部数据 例如 插入或删除数据 时 在 Angular 指令中使用变量 但不为该变量分配新对象 我当前正在从 JSON 文件加载一个简单的数据集 我的 Angular 控制器执行此操作 并定义了一些函数 Ap
  • 将记录从android中的hashmap保存到数据库中

    我只是想寻求帮助 我在列表视图中填充了一个哈希图 下面的代码是我的哈希图的代码 mylist new ArrayList
  • 使用Shapeless通过HList将Future的tuple转换为tuple的Future

    有没有一种简单的方法将 Future A Future B Future C Future N 类型的元组转换为 Future A B C N 这假设元组中元素的数量未定义 我尝试将元组转换为 HList 并尝试了类似的 FoldLeft
  • 这些图中的箭头图例(MVC - MVP - MVVM)是什么?

    我尝试理解 MVC MVP 和 MVVM 模式之间的主要区别 我找到了这 3 个图表 但我不确定是否理解它们 你能帮我解释一下虚线和实线的图例是什么吗 MVC 来自维基百科的定义 来自 Microsoft MSDN 网站的 MVP 来自微软
  • Python tkinter treeview获取/返回所选项目的父名称

    我试图在选择事件时返回 tkinter 树视图选择的父项 因此 如果选择更改为 子项 我希望它打印 父项 下面的工作示例 当前它打印选择项 而不是父项选择 try import tkinter as tk import tkinter tt
  • UML 序列图中的构造函数

    下面的序列图和构造函数 表示为创建对象 的含义是什么 消息的名称 Class B 是错误的 它应该是 create 这就是让你困惑的地方吗
  • 通过“/”在多行中一次拆分数千列,对新行中的值进行排序并添加“NA”值

    我想分割一个包含数千列的数据框 数据框如下所示 sample data of four columns sample lt read table stdin header TRUE sep POS v1 v2 v3 v4 152 0 0 1
  • 如何访问 .URL 文件中的 URL 和书签标题?

    我正在使用 NET 2 0 Visual Studio 2005 C 下面的代码从包含书签的 url 文件的目录中获取 IE 收藏夹 书签 的文件名 Example 用户 收藏夹 blah url 但我真正想要的是该文件内的书签 URL 当
  • 使文档可通过 java/servlet 下载

    我需要知道java servlet中是否有一种方法可以使存储在数据库中的文档 doc pdf 可供用户按请求的方式下载 请参见下文 例如 有一个网页和其中文档的链接 现在是这样完成的 如果用户单击该链接 则会打开一个新的空白窗口 并显示下载
  • MVC 最佳实践

    我是 MVC 新手 我正在使用 codeigniter 想知道应该在哪里放置 cut description 函数 我的模型检索事件列表 包括其描述 如果描述太长 我需要在前 n 个单词之后将其剪掉 并添加一个 阅读更多 链接 这样视图就不
  • 如何在 lldb 中打印 Vec

    我想使用 ascii 格式逐字节打印 vec let slice1 b abcdefg 我可以像这样打印结构 lldb p slice1 u8 slice1 data ptr 0x00007ff9abe00020 length 7 当我尝试
  • Java 线程等待锁定未(明显)锁定的对象

    通常 当我要求进行线程转储时 很容易解释性能不佳的系统的症状 即通常情况下 我可以看到许多线程显然正在等待已被另一个线程获取但未释放的监视器 在本例中 我有很多线程在等待监视器 0x965ad100 但似乎没有一个线程首先拥有该监视器 可以