真的不知道为什么,谢谢。
[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 ;
}
}
}