fuliang lee 2010-06-10 09:54
浏览 342
已采纳

监控线程如何重启?

我在做一个文件传输的功能,功能是一个监听线程(如下代码)监听一个文件下载队列就是doTranferFile()方法所做的事情,我将该方法抱在try和catch中防止由于异常将线程停止,但是由于一些不详的原因这个线程仍然会莫名其妙的停掉让我很头疼,我打算做一个机制来监控这个监听线程是否已经死掉,我想问问各位老师这个机制该怎么去实现,如何实现重启这个线程?或者说我这种应用场景有没有一个简单一点的开源框架满足我的要求
[code="java"]
public class TranferMonitor extends Thread {
public TranferMonitor(){
}
private boolean loop = true;

private void sleepForAwhile(long time) {
    try {
        Thread.sleep(time);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}
public void run() {
    while (this.loop) {
        this.sleepForAwhile(50);
        try {
            this.doTranferFile();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

}
[/code]

  • 写回答

4条回答 默认 最新

  • zhujinguo2009 2010-06-12 18:14
    关注

    [code="java"] ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
    scheduledExecutorService.scheduleAtFixedRate(new ServerMainThread(), 0,10, TimeUnit.SECONDS);[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件