问题标签 [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 - 使用 throw InterruptedException 时“找不到符号”
我的线程同时运行,导致它们的输出混淆,所以我在第一个线程上设置了延迟,但我无法让它运行,因为 Java 拒绝接受 InterruptedException。到目前为止,以下是我的代码:
java - 处理 InterruptedException java.lang.InterruptedException: 在一个线程中睡眠中断
我的应用程序会休眠一段时间,有时会抛出InterruptedException
. 谷歌搜索后,它建议通过抛出异常来停止程序的执行。
有没有办法让应用程序继续运行?我需要继续运行程序。这是一个 EJB 应用程序,其中应用程序充当侦听器。应用程序从一个端口接收消息,这是一个 TCP 应用程序。每隔几秒钟,侦听器就会检查新消息。
我的代码如下:
这是在一个线程中执行的。
还有其他解决方案吗?
|#]
java - 这是处理阻塞关闭的线程安全方法吗?
一个线程打开一个资源,这是一个阻塞操作。如果成功,则线程需要再次关闭它,这又是阻塞的,但总是在有限的时间内成功。
可以使用一个标志(我们称之为它hasResource
),它不能以任何方式与其他线程同步,以表明该线程不想被中断。根本不允许其他同步。
以下是处理这种情况的安全方法吗?
特别是,这是否确保线程在拥有资源时不会被中断?
据我所知,只有一个错误机会窗口,即在打开之后和设置标志之前。但是,这似乎不会导致资源泄漏,而是会意外忽略中断请求。有可能防止这种情况吗?
java - 如果线程已经被中断,Thread.sleep 会抛出吗?
给定一个线程在没有被阻塞的情况下被中断(即没有抛出 InterruptedException),该线程稍后尝试休眠时是否会抛出 InterruptedException?
该文档没有明确说明这一点:
InterruptedException - 如果任何线程中断了当前线程。抛出此异常时清除当前线程的中断状态。
java - InterruptedException:睡眠中断
我将我的申请推迟了一段时间,有时我会收到以下异常:
我已经在这个异常中待了一个多星期,但仍然没有找到解决方案。我已经阅读了很多论坛,然后提到我需要执行以下操作:
- 抛出 RuntimeException
- Thread.currentThread().interrupt() 通过恢复Thread的状态
问题是只有在 Glassfish 中执行以下操作后才会出现此异常:
我程序中只有一个线程,程序需要继续执行。下面是代码:
这是我从堆栈跟踪中得到的:
|#]
有任何想法吗?
java - 如果线程在 wait() 上被中断,是否会在到达同步块之外的 catch 块之前重新获取监视器?
请考虑以下代码:
如果线程在 wait() 上被阻塞时被中断,myLock 的监视器是否会在进入 catch 块之前被重新获取(暂时?)?
java - 如何找到 Java 中睡眠中断的根本原因?
我有一些代码:
当我使用MyTask
来自 的多个实例运行它时getTasks()
,我变得非常神秘:
这里的问题是没有根本原因:线程睡眠只是在某个时候“中断”。
所以我问:什么时候/为什么会被Thread.sleep()
中断,我该怎么做才能找到异常的根本原因?
java - 从期货抛出的 InterruptedException
假设我有一个方法如下:
an 是如何InterruptedException
被抛出(并陷入poll()
)的?可调用对象(包括InterruptedException
,对吗?)抛出的任何东西都会是ExecutionException
,我们永远不会取消任何期货,并且shutdownNow()
永远不会调用服务。
顺便说一句:既然如此,是否有可能使这种轮询方法对诸如此类的事情更加防弹InterruptedException
?
java - 可以中断同步的块/方法吗?
虽然我知道 Re-EntrantLocks 和 之间的理论差异synchronized
,但我对以下几点感到困惑。
synchronized
请参阅有关 Javarevisited 比较和Lock
对象的文章中的此声明:
ReentrantLock 和 Java 中的 synchronized 关键字之间另一个值得注意的区别是,在等待 Lock 时可以中断 Thread。在 synchronized 关键字的情况下,线程可以无限期地阻塞等待锁定,并且无法控制。ReentrantLock 提供了一个名为 lockInterruptibly() 的方法,可以用来在线程等待锁时中断线程。类似地,如果锁定在特定时间段内不可用,可以使用带有超时的 tryLock() 来超时。
根据上面的陈述,我确实尝试在同步方法(即阻塞等待)上中断线程等待(),它确实抛出了一个 InterruptedException。但这种行为与上述陈述中的说法相矛盾。
这是我得到的输出:
如果我的示例不正确或引用的有关 synchronized() 的陈述不正确,我会感到困惑?
java - java 线程在操作系统启动关闭期间停止(与 JAVA 文档相矛盾!)
java.lang.Thread.setDaemon(布尔值)
当唯一运行的线程都是守护线程时,Java 虚拟机退出。
然而在下面的代码中,“安全关闭”在中断(操作系统风格)进程时永远不会发生,不,我没有使用 SIGKILL ......
由于文档错误(?)是我唯一的办法来跟踪所有非守护线程并在关闭挂钩中加入它们吗?