timer cancel方法的一个小实例

package com.lj.timer;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class MyTimer extends TimerTask
{

	private int a;
	
	private Timer timer;
	
	public MyTimer(){
		timer=new Timer();
	}
	

	@Override
	public void run()
	{
		a++;
		System.out.println("hello world");
		System.out.println(a);
 		if(a==5){
 		this.cancel();
 		timer.cancel();
 		}
	}

	public static void main(String[] args)
	{
		MyTimer mytimer = new MyTimer();

		Timer timer = mytimer.timer;

		timer.schedule(mytimer, new Date(), 1000);
	 
	}

}


这里让程序每秒执行一次, 每次执行a加1, 等a加到5的时候,就让两个线程Mytimer和Timer都停止掉。

这里如果不让timer cancle掉,那么整个进程就会一直运行。


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