Runtime.getRuntime().addShutdownHook(new Thread());程序正常或非正常时一定会执行的方法,通过这个方法可以让程序在关闭前执行相应的操作。
下面是在关闭程序前一定要执行完代码再关闭的程序。
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ShMain extends Thread {
@SuppressWarnings("static-access")
public void run(){
while (!this.isInterrupted()) {
try {
System.out.println("hello10秒前");
this.sleep(1000*10);
System.out.println("hello10秒后");
this.sleep(1000*10);
System.out.println("hello20秒后");
if (!isRun) {
Runtime.getRuntime().exit(0);
}
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
boolean isRun = true;
public void stopThread(){
isRun = false;
}
public static void main(String[] args) {
System.out.println("helloMain");
ShMain sh = new ShMain();
sh.start();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
try{
while(true){
line = br.readLine();//判断是否是exit
if(line.equals("exit")){
sh.stopThread(); //结束线程
break;
}
}
}catch(Exception e) {}
}
}
分享到:
相关推荐
此代码可以不断监视某个进程是否在运行,直到这个进程关闭后,执行自己的代码
这是一个采用.net4.0框架开发的Winform程序,可针对Windows系统的服务和IIS网站【应用程序池】进行实时监测,当程序检测到指定的服务...若要关闭程序则点击底部的程序图标按下鼠标右键后选择【退出】即可真正关闭程序。
这是一个采用.net4.0框架开发的Winform程序,可针对Windows系统的服务和IIS网站【应用程序...若要关闭程序则点击底部的程序图标按下鼠标右键后选择【退出】即可真正关闭程序。 ⑨可设置该程序开机自启且自启后自动检测
如何运行一个程序直到它结束 用De1phi编制汉字录入能力测试软件 一个实用的Delphi屏幕拷贝程序的设计 如何做一个SYSTRAY程序 查阅可视窗口标题 屏蔽系统功能键 状态条插入可视控件 如何隐藏和显示Windows的...
如何运行一个程序直到它结束 用De1phi编制汉字录入能力测试软件 一个实用的Delphi屏幕拷贝程序的设计 如何做一个SYSTRAY程序 查阅可视窗口标题 屏蔽系统功能键 状态条插入可视控件 如何隐藏和显示Windows的...
这是一个采用.net4.0框架开发的Winform程序,可针对Windows系统的服务进行检测,当程序检测到指定的服务停止以后则自动重启服务,用...若要关闭程序则点击底部的程序图标按下鼠标右键后选择【退出】即可真正关闭程序。
这是一个采用.net4.0框架开发的Winform程序,可针对Windows系统的服务和IIS网站【应用程序池】进行实时监测,当程序检测到指定的服务...若要关闭程序则点击底部的程序图标按下鼠标右键后选择【退出】即可真正关闭程序。
该程序,通过vb编写,双击图标...当然你要测试监听程序的运行情况,可以双击启用,然后随意在键盘上按键,监听直到关闭窗体为止,关闭窗体时,在任务管理器中的应用程序下找到名为工程1的应用程序点击结束任务即可。
启动时,按照各工位开启关闭状态,从工位一往工位二三四依次执行,各工位可以随时开启关闭。按下停止时也同样从工位一二三四依次停止运行。各工位动作可以在手动状态下单步运行。工位二有缺料处理和运行中材料丢失...
4、 电梯到达有停站请求的楼层后,经过1s电梯打开,开门只是灯亮,开门4s后,电梯门关闭(关门指示灯灭),电梯继续运行,直至执行完请求信号后停在当前楼层。 5、 能记忆电梯内外的所以请求信号,并按照电梯运行...
4、 电梯到达有停站请求的楼层后,经过1s电梯打开,开门只是灯亮,开门4s后,电梯门关闭(关门指示灯灭),电梯继续运行,直至执行完请求信号后停在当前楼层。 5、 能记忆电梯内外的所以请求信号,并按照电梯运行...
关于win7及win10下编译程序程序卡死一直不消失,直到关闭VC6.0的环境才消失的BUG解决办法
实例235 执行一个外部程序直到其结束 实例236 调用具有参数的可执行程序 实例237 编写控制面板小应用程序 实例238 编写Windows服务 实例239 阻止程序重复运行 6.7 线程同步 实例240 利用事件对象实现线程同步 实例...
cc实例184 执行一个外部程序直到其结束 cc实例185 调用具有参数的可执行程序 6.7 线程同步 cc实例186 利用事件对象实现线程同步 cc实例187 利用互斥对象实现线程同步 cc实例188 利用临界区...
若本程序执行文件的名称为 “并发连接测试程序.exe”,那么它会自动载入“并发连接测试程序.ini”配置文件; 若此配置文件不存在,那么程序会自动生成一个。 配置文件中 [timeout_seconds] 节点是每次发送和接收...
10.程序运行会出现空白的对话框,如下图。 11.我们双击文件列表的dialog.ui 文件,便出现了下面所示的图形界面编辑界 面。 12.我们在右边的器件栏里找到Label 标签器件 13.按着鼠标左键将其拖到设计窗口上,如下图。...
中毒后运行杀毒软件清除是不在话下的了,但为了防止杀毒软件误杀或是删掉你还处理完的文档和重要的邮件,你应该首先将它们转移备份到其他储存媒体上。有些长文件名的文件和未处理的邮件要求在windows下备份,所以...
当一个任务被自动启动并执行完后,便要等到程序重新启动才会被继续检测 和启动。 -------------------------------------------------------------------------------- 任务执行方式说明: 倒计时执行...
为此,《LINUX设备驱动程序(第3版)》提供了完整的示例程序,您不需要特殊的硬件即可编译和运行这些示例程序。《LINUX设备驱动程序(第3版)》还在单独的章节中讲述了PCI、USB和tty(终端)子系统。对期望了解操作系统...
cc实例184 执行一个外部程序直到其结束 cc实例185 调用具有参数的可执行程序 6.7 线程同步 cc实例186 利用事件对象实现线程同步 cc实例187 利用互斥对象实现线程同步 cc实例188 利用临界区实现线程同步 ...