finally不一定会执行

转载 2016年08月29日 14:18:23
</pre><pre name="code" class="java">
public class ADaemon implements Runnable {
	public void run() {
		try {
			System.out.println("Starting ADaemon");
			TimeUnit.SECONDS.sleep(1);
		} catch (InterruptedException e) {
			System.out.println("Exiting via InterruptedException");
		} finally {
			System.out.println("this should always run?");
		}
	}

	public static void main(String[] args) {
		Thread t = new Thread(new ADaemon());
		t.setDaemon(true);
		t.start();
	}
}
这是一个后台线程在不执行finally子句的情况下就会终止其run()方法;

当运行这个程序时,finally子句是不会执行的,但是如果把注释掉对setDaimon()的调用,就会看到finally子句的执行。

摘自《java编程思想》21章并发


相关文章推荐

finally真的一定会执行吗-并发

后台线程和finally的邂逅
  • Asmots
  • Asmots
  • 2014年11月19日 16:23
  • 627

finally中的内容一定会执行吗?极其执行的前后顺序?

finally中的内容一定会执行吗?极其执行的前后顺序?
  • ZJDWHD
  • ZJDWHD
  • 2017年04月20日 22:31
  • 182

ios常见面试题,答案不一定准确 ,我会不断完善 答案,前十个答案是我自己写的

1. 
浅复制和深复制的区别?
 答案: 浅 copy 前后的区别就像 是 在一条狗的脖子上添加了 一条绳子,狗的数量没变还是那条狗 深copy 就相当于 又 买了一条 一摸一样的 狗 ,并添...

JAVA程序员不一定非得要会SSH

感觉这个文章写的不错,作为菜鸟的我应该好好学习。 http://thoughtfly.iteye.com/blog/968054#bc2313885   SSH框架架构对于国内...

有网站分析工具不一定会分析

本文转自:数码林的网站分析博客 页面地址: http://blog.digitalforest.cn/web-analytics-five-questions ...
  • xiecytf
  • xiecytf
  • 2012年10月24日 17:40
  • 209

后续的C++测试并不一定会成功

这些socekts在环境变量中以`:`或`;`隔开。例如,为调试方便,设环境变量nginx为如下值# export nginx="16000:16500:16600;"...

finally块中的代码一定执行吗

   在Sun Tutorial中有这样一句话:The finally block always executes when the try block exits. This ensures tha...
  • boy125
  • boy125
  • 2011年04月08日 22:37
  • 103

模块的源代码,不一定有用

  • 2015年01月22日 12:34
  • 5KB
  • 下载

java try finally return 顺序,finally一定会执行吗?

结论: finally至少有两种情况不会被执行。 ‌try语句没有被执行到。比如在try之前就返回了。 ‌try块中使用了System.exit(0),这个语句会导致JVM退出其他说明: ‌t...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:finally不一定会执行
举报原因:
原因补充:

(最多只允许输入30个字)