如何让你的程序同时只能运行一个?

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 如何让你的程序同时只能运行一个?

如何让你的程序同时只能运行一个?

思路

  • 1.启动程序,检测标志,判断是否有同样的程序运行,是则2,否则3
  • 2.程序退出
  • 3.程序启动,并设置标志,以便下次启动时检测
  • 实现方法

    基本原理

    实现

    编译运行

  • 简单可靠
  • 可读可见,相比于信号量或共享内存,它更容易观察
  • 无性能要求,启动时加锁,结束释放。
  • 一旦出现异常没有释放,也可以手动删除文件
  • 总结

    相关精彩推荐

    原文始发于微信公众号(编程珠玑):

    本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

    本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

    原文链接:blog.ouyangsihai.cn >> 如何让你的程序同时只能运行一个?


     上一篇
    SpringBoot日志处理之Logback SpringBoot日志处理之Logback
    日志处理是一个正式项目必备的功能,日志要能够根据时间、类型等要素,根据指定格式来保存指定的日志,方便我们观察程序运行情况、定位程序bug。 SpringBoot中推荐使用Logback日志框架。 本节示例项目在https://github.
    下一篇 
    Linux下你还知道这些特殊文件? Linux下你还知道这些特殊文件?
    - 普通文件 d    目录 l 符号链接 s    套接字 b    块设备 c    字符设备 p    管道 /dev/null/dev/full/dev