我有一个Java 8应用程序,其中我在线程上运行任务:
Thread t = new Thread(() -> { runTask();
finalizeTask(); });
t.start()
saveThread(t);在某个时刻,从不同的线程,这个任务可能会被中断:
Thread t = getThread(); // Obtains thread t
t.interrupt();这样,我希望runTask();行被中断,但我仍然希望finalizeTask();运行。
我如何捕捉线程中断并处理它?
发布于 2016-06-22 18:43:25
为此,您可以使用try catch finally。
try {
runTask();
}
catch (InterruptedException e) {
// Log etc.
}
finally {
finalizeTask();
}这将确保finalizeTask始终执行。
https://stackoverflow.com/questions/37965629
复制相似问题