Timer任务定时器如何终止

Timer类的对象有一个方法可以创建定时任务线程

schedule(TimerTask task, long delay)

但是自己实际操作后,发现程序运行完毕后,并不能终止这个定时任务线程。需要调用timer对象的cancel()方法才可以终止它。

所以,在TimerTask类的子类中,我们可以把Timer对象通过构造方法传递进去作为成员属性,这样就可以在定时任务完成后,对这个Timer的对象进行进一步的操作了。

当然,如果是匿名内部类的话,可以直接调用timer对象:

                Timer timer = new Timer();
		
		timer.schedule(new TimerTask() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				System.out.println("learn...");
				timer.cancel();
			}
		}, 3000);
		

你可能感兴趣的:(多线程)