Java Timer定时器与守护线程

Timer定时器看上去很不得了的样子,但是用起来真是简单的没朋友,最简单的应用不超过10行代码:

1、定义一个类继承TimerTask,这个task是一个线程类

2、定义一个Timer对象,这个Timer对象就是用来跑线程的

3、调用timer 的schudler方法按一定规则运行task

守护线程听上去很牛X的样子,但是实现起来就是一句代码:thread.setDaemon(flag),简直就不能用简单来形容

但是,重点是但是,问题来了,我们来看下下面的代码:

定义的task类:

Java Timer定时器与守护线程_第1张图片

main方法运行:

Java Timer定时器与守护线程_第2张图片

问题来了,程序都跑完了,为什么进程还没停,还一直红着!

为什么呢?Timer的源码:

Java Timer定时器与守护线程_第3张图片

这是一个非守护线程,所以一直运行,我们将代码改一下,哦了:

Java Timer定时器与守护线程_第4张图片

有需要资料的可以加QQ群:1023705513

你可能感兴趣的:(Java Timer定时器与守护线程)