| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 372 人关注过本帖
标题:Timer线程
只看楼主 加入收藏
jingmo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-11-14
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
Timer线程
请求大神帮我解答,我想让计算器启动后Timer线程自动结束,可是在不关闭计算器时timer不结束?
import
import java.util.Timer;
import java.util.TimerTask;


public class TestTimer {

    class MyTimerTask extends TimerTask {
        private Timer t ;
        public MyTimerTask(Timer t) {
            this.t = t;
        }
        public void run() {
            try {
                //启动计算器程序
                Runtime.getRuntime().exec("calc.exe");
            } catch (IOException e) {
                e.printStackTrace();
            }
            //结束线程
            t.cancel();
        }
    }
    public static void main(String[] args) {
        TestTimer tt = new TestTimer();
        Timer t = new Timer();
        //2秒后执行Timertask
        t.schedule(tt.new MyTimerTask(t), 2000);
    }

}
搜索更多相关主题的帖子: 计算器 private public import 
2013-11-14 18:03
husiwen
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:227
专家分:1125
注 册:2010-5-23
收藏
得分:10 
你的t.cancel 跟在exec后面  当然要 exec结束了 才会执行到
2013-11-15 19:13
jingmo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-11-14
收藏
得分:0 
貌似我知道为什么了,我通过在命令行窗口运行程序,当调用cancle()的情况下程序在启动计算器后线程会结束,不调用时不会结束,我在eclipse下运行该程序,忽略了控制台下一直运行的是计算器,当计算器不结束,控制台也不会结束,我错以为程序也没结束,其实程序已经结束了
2013-11-16 10:15
快速回复:Timer线程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019426 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved