为什么 Thread.interrupt() 不能中断尝试获取锁的线程

2023-12-14

Thinking in Java 一书中写道:Thread.interrupt()无法中断尝试获取同步锁的线程,我想知道为什么?


阻塞操作只有在声明为抛出异常时才能被中断InterruptedException。显然,一个synchronizedblock 没有声明它,因此在等待获取锁时不可能中断线程。

或者,您可以使用显式锁定并调用Lock.lockInterruptibly().

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

为什么 Thread.interrupt() 不能中断尝试获取锁的线程 的相关文章

  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • 通过推送通知唤醒

    Suppose 有一些对象 例如 一个数组a 和依赖于对象的条件 例如 a empty 当前线程以外的某些线程可以操作该对象 a 因此条件评估值的真实性会随着时间的推移而变化 如何让当前线程在代码中的某个时刻休眠 并在条件满足时通过推送通知
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • 将巨大的模式编译成Java

    有两个主要工具提供了将 XSD 模式编译为 Java 的方法 xmlbeans 和 JAXB 问题是 XSD 模式确实很大 30MB 的 XML 文件 大部分模式在我的项目中没有使用 所以我可以注释掉大部分代码 但这不是一个好的解决方案 目
  • 提供节点名或服务名,或未知 Java

    最近我尝试运行我的 Java 项目 每当我运行它并将其打开到我得到的服务器地址时 Unable to determine host name java net UnknownHostException Caused by java net
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • 如何在 ant 中为 junit 测试设置 file.encoding?

    我还没有完全完成file encoding 和 ant https stackoverflow com questions 1339352 how do i set dfile encoding within ants build xml
  • 提高 PostgreSQL 1 亿数据左连接查询性能

    我在用Postgresql 9 2 version Windows 7 64 bit RAM 6GB 这是一个Java企业项目 我必须在我的页面中显示订单相关信息 有三个表通过左连接连接在一起 Tables TV HD 389772 行 T
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • Android 为什么这不会抛出错误的线程异常?

    我的印象是视图只能从主线程操作 但是 为什么这不会崩溃 public class MainActivity extends Activity TextView tv Override protected void onCreate Bund
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • 不可变的最终变量应该始终是静态的吗? [复制]

    这个问题在这里已经有答案了 在java中 如果一个变量是不可变的并且是final的 那么它应该是一个静态类变量吗 我问这个问题是因为每次类的实例使用它时创建一个新对象似乎很浪费 因为无论如何它总是相同的 Example 每次调用方法时都会创
  • Java Swing - 如何禁用 JPanel?

    我有一些JComponents on a JPanel我想在按下 开始 按钮时禁用所有这些组件 目前 我通过以下方式显式禁用所有组件 component1 setEnabled false 但是有什么办法可以一次性禁用所有组件吗 我尝试禁用
  • 将 JavaFX FXML 对象分组在一起

    非常具有描述性和信息性的答案将从我这里获得价值 50 声望的赏金 我正在 JavaFX 中开发一个应用程序 对于视图 我使用 FXML
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • Android S8+ 警告消息“不支持当前的显示尺寸设置,可能会出现意外行为”

    我在 Samsung S8 Android 7 中收到此警告消息 APP NAME 不支持当前的显示尺寸设置 可能会 行为出乎意料 它意味着什么以及如何删除它 谢谢 通过添加解决supports screens 机器人 xlargeScre
  • 在java中以原子方式获取多个锁

    我有以下代码 注意 为了可读性 我尽可能简化了代码 如果我忘记了任何关键部分 请告诉我 public class User private Relations relations public User relations new Rela
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil

随机推荐

  • MPI - 工作/池示例

    有没有为 MPI 使用工作 池 或生产者 消费者 方案的示例 至于我所做的一切 我只得到一个正在通过的应用程序 然后我的应用程序陷入僵局 Thanks 只要在谷歌上搜索 MPI Master Worker 或 MPI Master Slav
  • AttributeError:QDialog对象没有属性setCentralWidget

    我正在尝试使用 QT Designer 创建 GUI 我已使用以下教程将 ui 设计器文件转换为 py 文件 http pyqt sourceforge net Docs PyQt5 designer html 我有以下代码 Created
  • 如何知道我的 WPF 应用程序可以播放哪些视频格式?

    我有一个允许播放视频的小应用程序 首先 我不限制用户选择特定类型的文件 我想要做的是确保我可以播放用户选择的文件 如何获取可用编解码器的列表 或查询 WPF 应用程序的播放质量 MediaElement控制 建议的替代方案是在播放之前将任何
  • 使用 Java 8 中的泛型方法对集合进行排序

    以下方法执行排序 public List
  • 每次需要重新绘制时,如何抓取 qwidget /将其渲染在像素图中?

    我有一个 QWidget 我不想在屏幕上显示 相反 我想在每次重新绘制小部件时获取该小部件的像素图 以便将其发送到我正在处理的应用程序的另一部分 API 提供了两种方法来执行此操作 QPixmap grabWidget and QWidge
  • 按关键字进行惯用的 clojure 映射查找

    假设我有一个使用关键字作为键的 clojure 映射 def my car color candy apple red horsepower 450 我知道我可以通过使用关键字或映射作为函数并将另一个作为其参数来查找与关键字关联的值 my
  • Delphi 2009 中的通用 TList<> 在 IndexOf 上崩溃

    我已经看到很多关于 Delphi 2009 泛型中错误的提及 但从未预料到如此基本的东西会在 Update 3 中失败 同样如此 如果列表包含 1 个或多个项目 则在通用 TList 或 TObjectList 上调用 IndexOf 会导
  • 将 R 中的矩阵顺时针旋转 90 度

    我在 R 中有一个这样的矩阵 1 2 3 1 2 3 1 2 3 有没有一种简单的方法可以将整个矩阵顺时针旋转 90 度以获得这些结果 1 1 1 2 2 2 3 3 3 再次旋转 90 度 3 2 1 3 2 1 3 2 1 t不旋转条目
  • EXCEPTION_ACCESS_VIOLATION 崩溃的可能原因是什么?

    当我使用 Eclipse 运行项目的 java bean 时 我收到此崩溃报告 我完全不知道它是什么以及如何调试 谁能告诉我调试这个的可能方法 An unexpected error has been detected by Java Ru
  • 在 .NET 运行时解析 JSON

    我想从 WebServer 得到一些响应 返回的数据如下所示 3014887 string1 string http num60 webservice com u3014887 b c9c0625b jpg 0 3061529 string
  • 在树结构上实现 IEnumerable

    基于这些人的工作 http dvanderboom wordpress com 2008 03 15 treet implementing a non binary tree in c http www matthidinger com a
  • Python 线程。如何锁定线程?

    我试图了解线程和并发的基础知识 我想要一个简单的情况 其中两个线程重复尝试访问一个共享资源 代码 import threading class Thread threading Thread def init self t args thr
  • 使用Scrapy抓取时无法在源代码中找到显示的数据

    我在 Windows Vista 64 位上使用 Python org 版本 2 7 64 位 我使用 Scrapy 和正则表达式的组合从以下页面中名为 DataStore Prime 的 Javascript 项目中提取信息 http w
  • 未终止的字符串文字/无效或意外的标记

    为什么我会 语法错误 未终止的字符串文字 in Firefox and 未捕获的语法错误 无效或意外的标记 in Chrome当我跑 document ready function function addJSBeforeEndBody c
  • 如何在一次 jQuery 调用中在两个文本之间切换?

    假设你有一个 click 称呼 你可以在里面写什么代码 click 调用 以便每次单击所选元素时 都会更改两个字符串之间的文本 我假设 toggle and text 会在这里发挥作用 尝试按照以下思路进行操作 element bind c
  • 同时播放两种声音

    有没有办法同时播放两种声音 我知道SoundPlayer无法做到这一点 我不能使用SoundEffect因为我相信它只是 XNA 的一部分 所需的两个声音将在未知且随机的时间被调用 声音播放后需要进行控制 即 声音必须能够在播放完毕之前停止
  • 在 Android 的导航栏顶部绘制位图

    在我的应用程序中 我需要在所有正在运行的应用程序之上绘制一个位图 我创建了一个不可见的视图 并覆盖在所有应用程序之上 使用此覆盖视图 我可以在给定位置绘制位图 但无法在导航栏顶部绘制位图 我使用了以下布局参数 WindowManager L
  • sphinx可以链接到不在根文档下面的目录中的文档吗?

    我正在使用 Sphinx 来记录一个非 Python 项目 我要分发 doc每个子模块中的文件夹 包含submodule name rst文件来记录该模块 然后 我想将这些文件吸收到主层次结构中 为整个设计创建规范 I e Project
  • 使用 itext 的 XML 工作器

    import java io FileOutputStream import java io StringReader import com itextpdf text Document import com itextpdf text P
  • 为什么 Thread.interrupt() 不能中断尝试获取锁的线程

    Thinking in Java 一书中写道 Thread interrupt 无法中断尝试获取同步锁的线程 我想知道为什么 阻塞操作只有在声明为抛出异常时才能被中断InterruptedException 显然 一个synchronize