当声明一个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并没有就此被撤出。而是按照周期继续执行,

相关文章:

  • 2021-06-27
  • 2022-01-01
  • 2022-12-23
  • 2021-06-01
  • 2022-12-23
  • 2021-11-23
  • 2022-03-13
  • 2022-12-23
猜你喜欢
  • 2022-01-30
  • 2022-12-23
  • 2021-08-28
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案