無名

大猫咪与小狮子

导航

Java Timer(计时器)机制

当声明一个Timer,执行schedule()方法时,这是一个异步的操作,

 1 import java.util.Timer;
2 import java.util.TimerTask;
3
4 public class test{
5 public String gets(){
6 Timer timer=new Timer();
7 timer.schedule(new TimerTask(){
8 int times=0;
9 @Override
10 public void run() {
11 times=times+1;
12 System.out.println("Timer1执行"+times+"次");
13
14 }
15
16 }, 0, 10000);
17 return "我是字符串";
18 }
19 public static void main(String[] str){
20 System.out.println(new test().gets());
21 Timer timer2=new Timer();
22 timer2.schedule(new TimerTask(){
23 int times=0;
24 @Override
25 public void run() {
26 times=times+1;
27 System.out.println("Timer2执行"+times+"次");
28
29 }
30
31 }, 0, 20000);
32 System.out.println("Timer是异步的吗?是一个异步线程吗?");
33 }
34 }


执行结果:

我是字符串
Timer是异步的吗?是一个异步线程吗?
Timer1执行1次
Timer2执行1次
Timer1执行2次
Timer2执行2次
Timer1执行3次
Timer1执行4次
Timer1执行5次
Timer2执行3次
Timer1执行6次

 

 

 

 

 

 

 

 

 

 

可见当包含有Timer的gets()方法执行完成后,Timer并没有就此被撤出。而是按照周期继续执行,

posted on 2012-03-01 22:42  xiezhengcai  阅读(1199)  评论(0编辑  收藏  举报