真的不知道为什么,谢谢。

wonkju 2012-08-08 11:07:05


new Timer().schedule(new TimerTask(){
public void run(){
RunTime.getRuntime().exec("calc.exe");
this.cancel();//我想问是问题在这里。
}
}
为什么我调用的TimerTask()方法不能取消其线程?
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
深蓝mg 2012-08-08
  • 打赏
  • 举报
回复
把问题说清楚一点,TimerTask是个类啊
五哥 2012-08-08
  • 打赏
  • 举报
回复
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 ;
}
}
}
wonkju 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
把问题说清楚一点,TimerTask是个类啊
[/Quote]

对,我搞错了,是用TimerTask调用cancel(),但是不知道为什么不能取消其线程,

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧