java多线程批处理 心跳监控

发布于 2022-09-06 02:08:31 字数 279 浏览 22 评论 0

最近工作上遇到这么一个问题:需要在指定时间,在后台起5个线程执行批量任务。对应的需要有一定的监控机制来观察这5个线程的运行情况。如果该5个线程在指定任务未完成之前异常退出。需要重新起一个线程来顶替他。目前我的方案是利用@schedule在指定时间起五个线程执行任务。并记录下这五个线程的threadid至数据库中保存。另外启动一个监控线程,定时去取这五个现成的threadid,遍历线程组找到该线程并观察线程状态。

那么问题来了。请问各位大神!有没有一套比较成熟的方案可以解决上述问题?或者说有没有什么比较好的监控线程的方式?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不顾 2022-09-13 02:08:31

为什么要监控线程?有异常的时候线程不退出不就好了么?比如这样:

while(tasks.getTaskLeft().size()>0) {
    Task task = tasks.getNextTask();
    try{
        processTask(task);
    } catch (Exception e) {
        task.setError(true);
        log.error("Fail to process task", e);
    }
    task.setProcessed(true);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文