RunTime.getRunTime().addShutdownHook用法
来源:互联网 发布:正在安装网络组件特曼 编辑:程序博客网 时间:2024/05/18 02:33
今天在阅读Tomcat源码的时候,catalina这个类中使用了下边的代码,不是很了解,所以google了一下,然后测试下方法,Tomcat中的相关代码如下:
Runtime.getRuntime().addShutdownHook(shutdownHook);
这个方法的含义说明:
这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。
public class Test{public static void main(String[] args){// 定义线程1Thread thread1 = new Thread(){public void run(){System.out.println("thread1...");}};// 定义线程2Thread thread2 = new Thread(){public void run(){System.out.println("thread2...");}};// 定义关闭线程Thread shutdownThread = new Thread(){public void run(){System.out.println("shutdownThread...");}};// jvm关闭的时候先执行该线程钩子Runtime.getRuntime().addShutdownHook(shutdownThread);thread1.start();thread2.start();}}
打印结果:
thread2...
thread1...
shutdownThread...
或者:
thread2...
thread1...
shutdownThread...
结论:
无论是先打印thread1还是thread2,shutdownThread 线程都是最后执行的(因为这个线程是在jvm执行关闭前才会执行)。
0 0
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- RunTime.getRunTime().addShutdownHook用法
- 探讨Windows窗体程序执行周期性任务的几种方法
- SimpleNews- Android MVP模式学习
- GIS+=地理信息+容器技术(6)——Dockerfile介绍
- android Graphics(三):区域(Range)
- apk反编译
- RunTime.getRunTime().addShutdownHook用法
- ubuntu中玩caffe里面的 MNIST
- android Graphics(四):canvas变换与操作
- 水仙花数
- Light OJ 1036A Refining Company (DP)
- 关于volley的一些分析-发送与接收
- 曹珍富老师的成材树
- android Graphics( 五):drawText()详解
- docker入门绝佳资源