Java多线程之后台线程不执行finally

后台线程不执行finally

package wzh.daemon;

import java.util.concurrent.TimeUnit;

class ADaemon implements Runnable {

    @Override
public void run() {
try {
System.out.println("Starting ADaemon");
TimeUnit.SECONDS.sleep(1);
} catch (Exception e) {
System.out.println("Exiting via InterruptedException");
} finally {
//如果是后台线程,则finally不会被执行。
//因为主线程退出后,后台线程就自动退出了。
System.out.println("This should always run?");
}
} } public class DaemonsDontRunFinally {
public static void main(String[] args) {
Thread thread = new Thread(new ADaemon());
thread.setDaemon(true);
thread.start();
}
}
上一篇:【温故而知新-万花筒】C# 异步编程 逆变 协变 委托 事件 事件参数 迭代 线程、多线程、线程池、后台线程


下一篇:SQL--表分区