gpt4 book ai didi

java - 线程中断在哪里处理

转载 作者:行者123 更新时间:2023-12-01 07:20:55 25 4
gpt4 key购买 nike

我有一个 Java 8 应用程序,我在线程上运行任务:

Thread t = new Thread(() -> { runTask();
finalizeTask(); });
t.start()
saveThread(t);

在某些时候,从不同的线程,此任务可能会被中断:

Thread t = getThread(); // Obtains thread t
t.interrupt();

这样,我希望 runTask(); 行被中断,但我仍然希望 finalizeTask(); 运行。

如何捕捉线程中断并处理它?<​​/p>

最佳答案

您可以使用 try catch finally 来实现此目的。

try {
runTask();
}
catch (InterruptedException e) {
// Log etc.
}
finally {
finalizeTask();
}

这将确保 FinalizeTask 始终执行。

关于java - 线程中断在哪里处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37965629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com