Runtime.getRuntime().addShutdownHook钩子程序的作用是什么?
一般程序自然关闭时可能需要做一些打扫的工作,比如资源的释放啊、告诉外部系统程序要关闭了啊等等一系
列的操作,这时候只要通过Runtime.getRuntime().addShutdownHook,就可以简单的添加一个钩子,然后实现
这些功能;
简单的例子:
public class TestHook { public static class sendMessageToClient implements Runnable{ public void run() { try { Thread.currentThread().sleep(30000); System.out.println("我是一个钩子线程,等我执行完系统才关闭啊"); } catch (InterruptedException e) { e.printStackTrace(); } } } public static void addSendMessageHook(){ Runtime.getRuntime().addShutdownHook(new Thread(new sendMessageToClient())); } public static void main(String[] args) { TestHook testHook = new TestHook(); addSendMessageHook(); } }
添加一个钩子程序就是这么简单!