`
mabusyao
  • 浏览: 247806 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

如何在关闭时进行清理工作

阅读更多
我们常常会遇到这样的情况,当程序运行结束的时候,要将一些资源连接进行清理,释放内存,或者是删除一些临时文件。通常这并不会有什么问题,我们只需要在程序的结束部分写上清理代码即可。

但当我们处在多线程的环境下时,我们并不能确切的知道,何时所有的线程都已结束工作,程序准备退出。 又或者我们的程序中有一些守护线程,需要通过特殊的命令才能停止。那么此时,我们如何才能保证当所有的线程都结束,程序退出的时候,我们的清理代码被执行呢?

在Java中,有一种非常简单的方法,通过给Runtime提供shutdown hook来实现这样的需求:

        try {
            // Register shutdown hook
            if (useShutdownHook) {
                if (shutdownHook == null) {
                    shutdownHook = new CatalinaShutdownHook();
                }
                Runtime.getRuntime().addShutdownHook(shutdownHook);
            }
        } catch (Throwable t) {
                //TODO
        }

分享到:
评论

相关推荐

    系统小工具,清理优化内存,强制关闭进程工具

    这个工具可以用来清理window系统的内存,以及强制关闭你想关的进程。你可能会问360和腾讯电脑管家不都有这些功能吗,还自己写工具做什么?问对了,自己的电脑如果安装了360或者电脑管家,确实用不上,但如果是配置低...

    matlab开发-关闭清除CLC

    matlab开发-关闭清除CLC。关闭所有图形,清理工作区,清理命令窗口

    电脑垃圾清理专家 V7.32 专业版

    用户只需在主界面选择要清理的项目即可,按照提示即可轻松完成清理工作。 该软件全面支持98、Me和所有的基于NT内核的Windows系统,包括 NT/2000/XP/2003,支持FAT32 和 NTFS文件系统。 其主要功能包括: ●...

    系统工具箱:实时监控目录文件,关闭开机启动项,关闭进程,清理内存

    C#使用fileSystemWatcher实时监控目录里所有文件的增删改和重命名操作日志,软件截图可以看我的博文:https://blog.csdn.net/qq15577969/article/details/109013153

    电脑垃圾清理专家 V5.89 专业版

    用户只需在主界面选择要清理的项目即可,按照提示即可轻松完成清理工作。 该软件全面支持98、Me和所有的基于NT内核的Windows系统,包括 NT/2000/XP/2003,支持FAT32 和 NTFS文件系统。 其主要功能包括: ●...

    wsyscheck--强大的清理病毒木马的工具

    Wsyscheck是一款手动清理病毒木马的工具,其目的是简化病毒木马的识别与清理工作。 一般来说,对病毒体的判断主要可以采用查看路径,查看文件名,查看文件创建日期,查看文件厂商,微软文件校验,查看启动项等方法...

    一键清理系统垃圾文件(三合一)

    本工具是 一键清理系统垃圾文件、自动关闭空闲的IDE通道、清除多余启动项 三者整合在一起稍加修改的批处理程序,使电脑工作者维护电脑一键完成,方便大家使用 本工具暂时只支持XP系统

    windows10系统垃圾清理工具.bat

    有效清理win10系统垃圾,减少系统负担,不会影响系统文件。win10以下系统也可用,运行之前建议关闭腾讯管家或360等防护软件,那样效果更加,不关闭也没事。

    服务器存储工作作业流程.docx

    预防性检验 在监控服务基础上,对服务器、存放进行预防性检验。包含:性能检验、脆弱性检验。服务器、存放预防性检验内容参见表1,包含但不限于: 服务器存储工作作业流程全文共7页,当前为第2页 表1物理资源预防性...

    冲床安全操作规程

    (2)禁止在操纵机构和自动停闭机构运行不正常时进行工作。 (3)禁止在冲床台面放任何东西和改变脚踏机构或垫任何物件。 (4)禁止同时在冲模上放一个以上的胚料件和用手清理铁屑和边料。 (5)禁止发现冲床冲击与自动落下...

    stale-issue-cleanup:使用GitHub Action清理存储库中的陈旧问题!

    GitHub操作的“陈旧问题清理”操作这个GitHub动作会警告并在指定的时间后关闭问题和PR,并且不进行任何活动。 它通过允许该操作仅在包含指定标签的问题上运行,并在问题看到新活动时删除标签,从而改进了。构建和...

    工业机器人基础实训室安全操作规程.docx

    11、维修、操作人员对设备进行维护保养时,必须关闭主电源开关后方可进行维护保养工作。 12、机器人工作区内不得堆放任何物品,控制箱内不准放任何杂物。 13、作业结束后,应立即按程序关闭好气、电等各种开关,...

    MFC自杀程序(点击按钮程序自动从磁盘中删除)

    点击按钮Button1后,程序会将自己从磁盘中删除,对程序自杀感兴趣的,可以看下的

    2018最新BAT java经典必考面试题最新版本.docx

    题目示例如下:希望帮到大家 50、final, finally, finalize 的区别? 答:final:修饰符(关键字)有三种...这个方法是由垃圾收集器在销毁对象时调用的,通过重写finalize() 方法可以整理系统资源或者执行其他清理工作。

    一键删除全部Selenium缓存(scoped-dir缓存文件)

    ●使用Python制作selenium脚本进行工作时候,一般不是自动关闭窗口,而是工作完毕后才手动关闭窗口。运行脚本同事会产生大量的缓存到C:/programfile(x86)文件夹中,运行次数多了会导致缓存堆积到C盘,造成系统盘臃肿...

    Deepin XP系统优化与设置专用工具 1.65_简体中文绿色免费版 环境模式的优化

    该模式适合在家庭中的PC机进行上网、游戏、音视频播放、文档处理等工作。 【办公电脑优化模式】 在默认XP安装设置服务的基础上,关闭了少量服务,包括终端服务和红外线设备支持、无线网络支持;而保留了在...

    ABB机器人操作规程.docx

    ABB机器人可常年保持24小时开机,如不做维修保养不需要每天关闭主电源开关,这样会缩短蓄电池的寿命。 2、万一发生火灾,请使用二氧化碳灭火器。 3、机器人安全链电路急停开关(E-STOP)不允许被短接。不允许用任何...

    MaximizeToWorkspace:最大化时将窗口移到新的工作区,未最大化时将窗口移回新的工作区。 受https启发

    来自MacOS,当我们最大化它时,我就习惯了MacOS的窗口管理风格。 随着桌面环境的发展,它可以一次只专注于一件事。 我想在Gnome中使用相同的东西,但是发现它完全缺乏/根本不存在。 基于早期人们的尝试,我尝试重新...

    焊接机器人安全操作规程.doc

    焊接机器人安全操作规程 焊接机器人是生产的重点关键... 5.12清理现场、擦拭机器人本体、调试工装,维护等工作,必须要在停机后方可进行 。 ----------------------- 焊接机器人安全操作规程全文共1页,当前为第1页。

    适合懒人使用的系统维护工具

    适合懒人或不太懂的人使用的系统维护工具 本来有好多的系统维护软件,闲使用上麻烦不说,还不知道使用的顺序,现在好了,你只需要点点鼠标,一直到程序结束,做这程序的...6.注册表清理(做完前面的工作后的最后清理)

Global site tag (gtag.js) - Google Analytics