Runtime.getRuntime().addShutDowmHook()方法
来源:互联网 发布:php导入excel文件 编辑:程序博客网 时间:2024/06/06 03:10
这个方法的含义说明:
这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。如果把自己(即:this)设置成为钩子线程,则会屏蔽ctrl+c进程杀死情况。
一、编写个测试类
package com.test.hook;
public class TestShutdownHook {
/**
* @param args
*/
public static void main(String[] args) {
// 定义线程1
Thread thread1 = new Thread() {
public void run() {
System.out.println("thread1...");
}
};
// 定义线程2
Thread 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执行关闭前才会执行)。
- Runtime.getRuntime().addShutDowmHook()方法
- Runtime.getRuntime().exec方法
- Runtime.getRuntime().exec方法
- Runtime.getRuntime()
- Runtime.getRuntime()
- Runtime.getRuntime()
- Runtime.getRuntime()
- Runtime.getRuntime().addShutdownHook()方法的用法
- Java中Runtime.getRuntime().addShutdownHook()方法
- Runtime.getRuntime().exec()方法的使用
- 使用Runtime.getRuntime().exec()方法时要注意Working Directory
- 线程中断方法interrupt() 与 cancel()以及Runtime.getRuntime().addShutdownHook()
- 使用Runtime.getRuntime().exec()方法的几个陷阱 (转)
- Runtime.getRuntime().exec()执行重定向命令方法
- Runtime.getRuntime(). exec( )
- java Runtime.getRuntime().exec
- Runtime.getRuntime().addShutdownHook
- Runtime.getRuntime().addShutdownHook(Thread)
- 标准C++中的string类的用法总结
- SDOI省选培训day1小结
- 30天自制操作系统——前三天
- 编写自己的C++IDE 准备工作
- Ubuntu编译/运行HTK
- Runtime.getRuntime().addShutDowmHook()方法
- 三道上机测试题
- 职场兵法:不露痕迹的让人注意你
- 网工转java程序员之辛酸历程
- Leetcode 位运算 Single NumberII
- 如何将一个软件彻底删除在ubuntu里
- ACM 数据的插入与删除
- do...while(0)的妙用
- 关于 ++ 的返回值