美文网首页
windows进程单例

windows进程单例

作者: 朴洛 | 来源:发表于2015-06-04 11:53 被阅读0次

一. 为什么要实现进程单例

二.实现进程单例的思路方法:

    1.思路:

      进程在启动时首先检查当前系统是否已经存在有此进程的实例,如果没有,进程将成功创建并设置标识实例已经存在的标记。此后再创建进程时将会通过该标记而知晓其实例已经存在,从而保证进程在系统中只能存在一个实例。

    2.方法:

      内存映射文件、有名事件量、有名互斥量以及全局共享变量等多种方法来实现

三.具体实现:

     互斥量:

      使用CreateMutex() 得到一个Hanldle句柄,使用GetLastError()判断是否为ERROR_ALREADY_EXISTS,如果是则已经存在。

// 创建互斥量

HANDLE m_hMutex = CreateMutex(NULL, FALSE, "Sample07");

// 检查错误代码

if (GetLastError() == ERROR_ALREADY_EXISTS) {

// 如果已有互斥量存在则释放句柄并复位互斥量

CloseHandle(m_hMutex);

m_hMutex = NULL;

// 程序退出

return FALSE;

}

相关文章

  • windows进程单例

    一. 为什么要实现进程单例 二.实现进程单例的思路方法: 1.思路: 进程在启动时首先检查当前系统是否已...

  • golang 单例进程

    背景 很多时候我们希望程序可以单例运行 怎么去做 监听端口形式的http或tcp此方式需要占用系统端口,有“洁癖”...

  • Python单例设计模式

    单例模式的使用场景 Python的logger就是一个单例模式,用以日志记录 Windows的资源管理器是一个单例...

  • 2019-03-06 python1

    难点 pythonyield设计模式:工厂模式、单例模式闭包、装饰器进程池pool锁蓝图孤儿进程、僵尸进程 高级编...

  • Java设计模式之单例

    单例,顾名思义,就是整个进程运行过程中只有一个实例,单例对象的特征一般如下: 生命周期较长,通常在进程结束前都不需...

  • spring中的单例模式和设计模式中的单例模式的却比

    spring单例bean与设计模式的单例模式的区别在于它们关联的环境不一样。单例模式是指在一个JVM进程中仅有一个...

  • 设计模式之单例模式

    1 什么是单例模式 单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个...

  • 逸笔记-设计模式-单例模式

    1.什么是单例模式 单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个...

  • Windows/Linux系统:端口占用-查看、关闭操作

    一、Windows端口占用操作 以3306端口为例,如下: 对应PID:3780 对应进程:mysqld.exe ...

  • 单例模式

    一、单例模式介绍 单例模式是我们在开发中经常用到的一种设计模式。单例模式创建的类在当前进程中只有一个实例,并有一个...

网友评论

      本文标题:windows进程单例

      本文链接:https://www.haomeiwen.com/subject/inudqttx.html