为什么要监听程序退出事件就不用多说了,有各种各样的需求吧。主要是用于后台程序,比如要在程序退出的时候释放资源,关闭连接等等。
下面针对Java、C++在Windows、Linux下的处理分别进行介绍.
1.Java监听程序退出事件
Java本身是跨平台的,不必关系Windows还是Linux。具体做法如下:
通过Runtime.getRuntime().addShutdownHook(Thread t);添加一个监控线程,在该程序退出时会调用Thread的run方法。不得不说Java真的很方便。
我实现的一个例子。
public class RTMServer extends Thread{
private MessageServer msg_server = null;
private ThriftServer thrift_server = null;
public RTMServer()
{
this.setName("RTMServer");
}
public void start_server()
{
// 添加程序关闭监听线程
Runtime.getRuntime().addShutdownHook(this);
msg_server = new MessageServer();
msg_server.start();
thrift_server = new ThriftServer("ThriftServer");
thrift_server.start();//该方法会阻塞
}
/*<