问题标签 [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.

0 投票
1 回答
1816 浏览

java - 使用 throw InterruptedException 时“找不到符号”

我的线程同时运行,导致它们的输出混淆,所以我在第一个线程上设置了延迟,但我无法让它运行,因为 Java 拒绝接受 InterruptedException。到目前为止,以下是我的代码:

0 投票
0 回答
1830 浏览

java - 处理 InterruptedException java.lang.InterruptedException: 在一个线程中睡眠中断

我的应用程序会休眠一段时间,有时会抛出InterruptedException. 谷歌搜索后,它建议通过抛出异常来停止程序的执行。

有没有办法让应用程序继续运行?我需要继续运行程序。这是一个 EJB 应用程序,其中应用程序充当侦听器。应用程序从一个端口接收消息,这是一个 TCP 应用程序。每隔几秒钟,侦听器就会检查新消息。

我的代码如下:

这是在一个线程中执行的。

还有其他解决方案吗?

|#]

0 投票
2 回答
65 浏览

java - 这是处理阻塞关闭的线程安全方法吗?

一个线程打开一个资源,这是一个阻塞操作。如果成功,则线程需要再次关闭它,这又是阻塞的,但总是在有限的时间内成功。

可以使用一个标志(我们称之为它hasResource),它不能以任何方式与其他线程同步,以表明该线程不想被中断。根本不允许其他同步。

以下是处理这种情况的安全方法吗?

特别是,这是否确保线程在拥有资源时不会被中断?

据我所知,只有一个错误机会窗口,即在打开之后和设置标志之前。但是,这似乎不会导致资源泄漏,而是会意外忽略中断请求。有可能防止这种情况吗?

0 投票
3 回答
870 浏览

java - 如果线程已经被中断,Thread.sleep 会抛出吗?

给定一个线程在没有被阻塞的情况下被中断(即没有抛出 InterruptedException),该线程稍后尝试休眠时是否会抛出 InterruptedException?

文档没有明确说明这一点:

InterruptedException - 如果任何线程中断了当前线程。抛出此异常时清除当前线程的中断状态。

0 投票
1 回答
6237 浏览

java - InterruptedException:睡眠中断

我将我的申请推迟了一段时间,有时我会收到以下异常:

我已经在这个异常中待了一个多星期,但仍然没有找到解决方案。我已经阅读了很多论坛,然后提到我需要执行以下操作:

  • 抛出 RuntimeException
  • Thread.currentThread().interrupt() 通过恢复Thread的状态

问题是只有在 Glassfish 中执行以下操作后才会出现此异常:

我程序中只有一个线程,程序需要继续执行。下面是代码:

这是我从堆栈跟踪中得到的:

|#]

有任何想法吗?

0 投票
1 回答
316 浏览

java - 如果线程在 wait() 上被中断,是否会在到达同步块之外的 catch 块之前重新获取监视器?

请考虑以下代码:

如果线程在 wait() 上被阻塞时被中断,myLock 的监视器是否会在进入 catch 块之前被重新获取(暂时?)?

0 投票
3 回答
1401 浏览

java - 如何找到 Java 中睡眠中断的根本原因?

我有一些代码:

当我使用MyTask来自 的多个实例运行它时getTasks(),我变得非常神秘:

这里的问题是没有根本原因:线程睡眠只是在某个时候“中断”。

所以我问:什么时候/为什么会被Thread.sleep()中断,我该怎么做才能找到异常的根本原因?

0 投票
2 回答
202 浏览

java - 从期货抛出的 InterruptedException

假设我有一个方法如下:

an 是如何InterruptedException被抛出(并陷入poll())的?可调用对象(包括InterruptedException,对吗?)抛出的任何东西都会是ExecutionException,我们永远不会取消任何期货,并且shutdownNow()永远不会调用服务。

顺便说一句:既然如此,是否有可能使这种轮询方法对诸如此类的事情更加防弹InterruptedException

0 投票
5 回答
3903 浏览

java - 可以中断同步的块/方法吗?

虽然我知道 Re-EntrantLocks 和 之间的理论差异synchronized,但我对以下几点感到困惑。

synchronized请参阅有关 Javarevisited 比较和Lock对象的文章中的此声明:

ReentrantLock 和 Java 中的 synchronized 关键字之间另一个值得注意的区别是,在等待 Lock 时可以中断 Thread。在 synchronized 关键字的情况下,线程可以无限期地阻塞等待锁定,并且无法控制。ReentrantLock 提供了一个名为 lockInterruptibly() 的方法,可以用来在线程等待锁时中断线程。类似地,如果锁定在特定时间段内不可用,可以使用带有超时的 tryLock() 来超时。

根据上面的陈述,我确实尝试在同步方法(即阻塞等待)上中断线程等待(),它确实抛出了一个 InterruptedException。但这种行为与上述陈述中的说法相矛盾。

这是我得到的输出:


如果我的示例不正确或引用的有关 synchronized() 的陈述不正确,我会感到困惑?

0 投票
2 回答
248 浏览

java - java 线程在操作系统启动关闭期间停止(与 JAVA 文档相矛盾!)

java.lang.Thread.setDaemon(布尔值)

当唯一运行的线程都是守护线程时,Java 虚拟机退出。

然而在下面的代码中,“安全关闭”在中断(操作系统风格)进程时永远不会发生,不,我没有使用 SIGKILL ......

由于文档错误(?)是我唯一的办法来跟踪所有非守护线程并在关闭挂钩中加入它们吗?