java – 如果运行该函数的线程中断,finally块是否执行?
如果我有一个具有try / finally部分的功能,并且运行它的线程在try块中被中断,finally块是否在中断实际发生之前执行?
解决方法
According to the Java Tutorials,“如果执行try或catch代码的线程被中断或者被杀死,即使整个应用程序整体继续,finally块可能不会执行.
这是完整的段落:
class Thread1 implements Runnable { @Override public void run() { try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } finally { System.out.println("finally executed"); } } } … t1.start(); t1.interrupt(); 它打印 – 最后执行 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |