日期:2014-05-20  浏览次数:20744 次

真的不知道为什么,谢谢。
[code=Java][/code]

new Timer().schedule(new TimerTask(){
  public void run(){
  RunTime.getRuntime().exec("calc.exe");
  this.cancel();//我想问是问题在这里。
  }  
}
为什么我调用的TimerTask()方法不能取消其线程?

------解决方案--------------------
public static void main(String[] args) throws InterruptedException {
Timer timer = new Timer();
MyTask mt = new MyTask("D:\\std1.txt");
timer.schedule(mt, 1000, 10000);// 在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
while (true) {// 这个是用来停止此任务的,否则就一直循环执行此任务了
System.out.println("正在运行...") ;
Thread.sleep(500) ;
if (mt.isFinish()) {
timer.cancel();// 使用这个方法退出任务
System.out.println("完成.");
break ;
}
}
}