当前位置: 首页 > news >正文

北京大兴最专业的网站建设公司seo建站网络公司

北京大兴最专业的网站建设公司,seo建站网络公司,dnf做汉堡怎么玩间网站,做数据权威的网站有哪些CreateMutex函数 正常情况下,一个进程的运行一般是不会影响到其他正在运行的进程的。但是对于某些有特殊要求的如以独占方式使用串行口等硬件设备的程序就要求在其进程运行期间不允许其他试图使用此端口设备的程序运行的,而且此类程序通常也不允许运行同…

CreateMutex函数

正常情况下,一个进程的运行一般是不会影响到其他正在运行的进程的。但是对于某些有特殊要求的如以独占方式使用串行口等硬件设备的程序就要求在其进程运行期间不允许其他试图使用此端口设备的程序运行的,而且此类程序通常也不允许运行同一个程序的多个实例。这就引出了进程互斥的问题。

  实现进程互斥的核心思想比较简单:进程在启动时首先检查当前系统是否已经存在有此进程的实例,如果没有,进程将成功创建并设置标识实例已经存在的标记。此后再创建进程时将会通过该标记而知晓其实例已经存在,从而保证进程在系统中只能存在一个实例。具体可以采取内存映射文件、有名事件量、有名互斥量以及全局共享变量等多种方法来实现。下面就分别对其中具有代表性的有名互斥量和全局共享变量这两种方法进行介绍: // 创建互斥量
HANDLE m_hMutex = CreateMutex(NULL, FALSE, "Sample07");
// 检查错误代码
if (GetLastError() == ERROR_ALREADY_EXISTS) {
 // 如果已有互斥量存在则释放句柄并复位互斥量
 CloseHandle(m_hMutex);
 m_hMutex = NULL;
 // 程序退出
 return FALSE;
}

  上面这段代码演示了有名互斥量在进程互斥中的用法。代码的核心是CreateMutex()对有名互斥量的创建。CreateMutex()函数可用来创建一个有名或无名的互斥量对象,其函数原型为:

HANDLE CreateMutex(
 LPSECURITY_ATTRIBUTES lpMutexAttributes, // 指向安全属性的指针
 BOOL bInitialOwner, // 初始化互斥对象的所有者
 LPCTSTR lpName // 指向互斥对象名的指针
);

  如果函数成功执行,将返回一个互斥量对象的句柄。如果在CreateMutex()执行前已经存在有相同名字的互斥量,函数将返回这个已经存在互斥量的句柄,并且可以通过GetLastError()得到错误代码ERROR_ALREADY_EXIST。可见,通过对错误代码ERROR_ALREADY_EXIST的检测可以实现CreateMutex()对进程的互斥。

建立互斥体,用来同步。如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将被挂起,直到第一个线程释放该互斥体。  
    参数  
    lpMutexAttributes    
    指向一个SECURITY_ATTRIBUTES结构的指针,这个结构决定互斥体句柄是否被子进程继承。     
    bInitialOwner
    布尔类型,决定互斥体的创建者是否为拥有者  
    lpName    
    指向互斥体名字字符串的指针。互斥体可以有名字。  
    互斥体的好处是可以在进程间共享

个人心得体会:
CreateMutex() 用于有独占要求的程序 (在其进程运行期间不允许其他使用此端口设备的程序运行,或不允许同名程序运行)。
如有同名程序运行,则通过 GetLastError()得到错误代码 ERROR_ALREADY_EXIST

刚才又执行了下得出的结果(程序名samp)
         一般情况下:一进入调试阶段,进程管理器中就出现了samp进程,执行到CreateMutex时返回进程句柄,执行到if(GetLastError() == ERROR_ALREADY_EXISTS ) 进行判断时,跳过不执行if中的内容,所以表示没有互斥。
     调试之前先运行debug中的samp.exe再调试:一进入调试阶段,进程管理器中就出现了两个samp进程,执行到CreateMutex时返回进程句柄,执行到if(GetLastError() == ERROR_ALREADY_EXISTS ) 进行判断时,执行if中的内容,表示有互斥。

http://www.dinnco.com/news/80375.html

相关文章:

  • 大学生怎么做网站网站开发费用
  • 网站建设合同服务事项站长工具箱
  • 做网站海报个人博客网站怎么做
  • 网站功能需求列表一般网络推广应该怎么做
  • 网站过期查询seo软件开发
  • 2018网站建设合同范本seo外包是什么
  • 山东省南水北调建设管理局网站360搜索引擎的特点
  • 专业做能源招聘的网站电子商务网站建设规划方案
  • 南京网站制作设计公司湖南 seo
  • 长沙网站seo亚马逊seo推广
  • 做网站赚钱么今晚比分足球预测
  • 做的网站底部应该标注什么意思软文广告案例
  • wordpress 图片管理优化网站搜索排名
  • 纯前端网站怎么做rest谷歌搜索引擎免费入口2022
  • 超链接网站图片怎么在记事本上做台州网站建设平台
  • 一般网站自己可以做播放器吗进入百度
  • 实业公司网站模板百度应用市场下载安装
  • 天河网站建设平台抖音seo供应商
  • 重庆网站建设兼职百度知道官网
  • 网站工作室网站seo排名优化是什么意思
  • 网站 建设 内容 安排windows优化大师手机版
  • 桐乡做网站的公司运营主要做什么工作
  • 国外 视频上传网站源码今日国内最新新闻
  • 顺电网上商城appseo培训
  • 衡水建设局网站首页百度网页版下载
  • 番禺网站开发技术十大接单推广平台
  • 赵朴初网站建设全国疫情最新
  • 有没有好网站推荐app推广全国代理加盟
  • 一等一网站建设股票指数是什么意思
  • 旅行做攻略的网站好杭州seo优化