栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 监控主程序 结束 退出 报警 提示 加钩子 ShutdownHook

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 监控主程序 结束 退出 报警 提示 加钩子 ShutdownHook

有时候会有需求:想要监控主程序结束。在主程序结束的时候,执行一些代码。

可以用Runtime中的addShutdownHook

package com.thread;

public class T1_Hook {

    public static void main(String[] args) {
        System.out.println("start");
        //加钩子:主线程结束走该线程
        Runtime.getRuntime().addShutdownHook(new Thread(){
            @Override
            public void run() {
                super.run();
                System.out.println("============主程序结束================");
            }
        });
        System.out.println("end");

        //其他的线程:模拟springboot中,主线程跑起来后,其中的各种线程
        new Thread(()->{
            int i = 0;
            while (i < 10) {
                System.out.println(i++);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

}

感谢此文 

为主程序增加Hook,监控主线程的退出_日志的博客-CSDN博客

看下Runtime的源码:

public class Runtime {
    //单例模式
    private static Runtime currentRuntime = new Runtime();
    public static Runtime getRuntime() {
        return currentRuntime;
    }

    //不让别人实例化
    private Runtime() {}
...
}

Runtime使用了单例模式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/877914.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号