问题标签 [interrupted-exception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 ThreadInterrupted 的情况下提取进程的退出代码
我刚刚通过 exec() 调用创建了一个进程,现在我正在使用它的 .waitFor() 方法。我需要捕获一个 InterruptedException,但我不确定我应该在 catch 代码块中放置什么。我想收到退出代码,但如果当前线程被中断,我不会收到。如果线程被中断,我应该怎么做才能让退出代码退出进程?
例子:
java - 读取套接字时的Java中断线程
可能重复:
如何立即终止套接字 IO 操作上的线程阻塞?
我有客户端在线程中运行,想要从 Java 中的套接字读取。但是在阅读时,也许我想杀死线程。所以我interrupt
是这样,但是套接字的读取方法会抛出InterruptedException
吗?我没找到。
那么,我怎样才能很好地要求线程在读取套接字时阻塞?
谢谢
c - epoll_wait 由于 EINTR 而失败,如何解决这个问题?
我的 epoll_wait 由于 EINTR 而失败。我的 gdb 跟踪显示了这一点:
这个字符串“启动计时器中的 epoll_wait 错误:测量将在整个执行期间”由我在 stderr 中打印。
我无法弄清楚如何解决这个 EINTR 以便 epoll_wait 可以工作。知道这个 EINTR 是如何由 GDB 跟踪生成的吗?
jasper-reports - 运行 Ireport 时出现 java.lang.InterruptedException
我在 Java 中运行 jasper 报告来生成报告,我使用虚拟器来处理大量数据。但是,在运行了将近 3 个小时后,突然抛出了 java.lang.InterruptedException。它被我的程序捕获,这是堆栈跟踪。我所知道的是,只有当其他进程中断睡眠或空闲进程时才会引发此异常。就我而言,还有什么其他过程可以打断这一点?
下面是控制台输出:
我怀疑问题出在碧玉报告中,对吗?有什么办法可以处理这是我的程序吗?
非常感谢!
——布雷维斯·尤纽斯
java - 管理中断异常
我已阅读http://www.ibm.com/developerworks/java/library/j-jtp05236/index.html
我决定通过以下方式使我的锁定不可取消任务
但是有没有必要
文章说你应该调用 interrupt() 来保持中断状态。我还是很模糊,那如果我设置.interrupt呢?接下来发生什么?对此有点迷失......任何输入?
它给我的程序带来什么价值?请用外行术语解释,非常感谢:D
java - 中断Java中的循环线程
我试图了解线程在 Java 中是如何工作的,目前正在研究如何实现可以取消的循环线程。这是代码:
我创建的线程迟早会被中断。所以,我检查 isInterrupted() 标志来决定我是否需要继续,并InterruptedException
在我处于一种等待操作(sleep
, join
, wait
)时捕获处理案例。
我想澄清的事情是:
- 这种任务可以使用中断机制吗?(与拥有相比
volatile boolean shouldStop
) - 这个解决方案正确吗?
- 我吞下 InterruptedException 是否正常?我真的不感兴趣有人要求我的线程中断的代码是什么。
- 有没有更短的方法来解决这个问题?(重点是有“无限”循环)
编辑interrupt()
在 catch 中
添加了对InterruptedException
.
c# - 为什么在finally块中休眠时线程不中断
我一直在寻找 MSDN 并且找不到在 finally 块内休眠时不能中断线程的原因。我曾尝试中止但没有成功。
有什么办法可以在 finally 块中休眠时唤醒线程?
令人惊讶的是,MSDN 声称线程可以在 finally 块中中止:http: //msdn.microsoft.com/en-us/library/aa332364 (v=vs.71).aspx “线程有可能在 finally 块中中止正在运行,在这种情况下,finally 块被中止。”
编辑 我发现 Hans Passant 评论是最佳答案,因为这解释了为什么线程有时可以并且不能在 finally 块中被中断/中止。那就是进程关闭的时候。谢谢
java - Java 应用程序在打开套接字时立即抛出 ClosedByInterruptException,原因是什么?
我有一个 Java 应用程序,它可以打开许多到一个地址的连接,可能一次大约有 2,000 个,几乎没有任何活动,主要是为了监视目的而打开,不时传递几个字节。当需要打开新连接时,它会自动打开它们并将它们添加到其池中。但有时,由于未知原因,应用程序在创建到远程地址的套接字期间/之后立即收到 ClosedByInterruptException。据我所知,这仅在客户端由于线程中断信号而发生。我已经检查并重新检查了问题区域周围的源代码,看起来还可以。我希望我能得到某人的专业知识,以了解除了源代码之外是否还有其他原因,例如,是否有系统原因导致这种情况?有硬件原因吗?服务器级别/路由器级别?我的网络知识我会认为是业余的,但是对于路由器来说,2K 连接是否太多,或者没有?
更新:我想尽我所能帮助其他人为诊断做出贡献。所以这是发生异常的实际函数,唯一的区别是我添加到第 441 行的行标记。
java - 取消文件打开对话框后的 InterruptedException - 1.6.0_26
以下代码的输出是:
以下代码显示了我机器上的异常。
当我运行程序时,主窗口打开正常,程序运行正常。
但是,如果您:
- 使用“打开
JFileChooser
文件”按钮打开 - 按取消,然后
- 退出程序
一个InterruptedException
被抛出。或者,如果您选择一个文件并“打开”它然后退出程序,则会引发相同的错误。在这个博客上用示例代码解释了同样的事情,他的解决方案是尽快调用new JFileChooser();
,我做了没有效果。
这是 1.6.0_26 中的错误吗?如果是这样,该版本是否有解决方法?
是代码吗?如果是这样,如何解决?(看起来不太可能,还有 2 个其他空结果 - 其中一个现在已被删除。)
java - Java:从代码中调用可中断的方法
我正在阅读 Java Concurrency in Practice 的第 7 章。
在谈到没有自己的取消策略但调用可以被中断的方法的方法的部分中,本书有以下内容要说。
不支持取消但仍然调用可中断阻塞方法的活动将不得不循环调用它们,当检测到中断时重试。在这种情况下,它们应该将中断状态保存在本地并在返回前恢复,而不是在捕获时立即恢复中断异常。
我还没有完全理解这一点。
这是否意味着,如果我调用Thread.sleep
我的方法,我将不得不在循环中调用它或其他什么?
谁能解释为什么应该这样做?