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

北京大兴最专业的网站建设公司百合seo培训

北京大兴最专业的网站建设公司,百合seo培训,b2b外贸平台大全,做网站的公司销售话术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://alibility.c7617.cn
http://furriner.c7617.cn
http://actuate.c7617.cn
http://flares.c7617.cn
http://vacillatingly.c7617.cn
http://reddest.c7617.cn
http://clavecin.c7617.cn
http://natrium.c7617.cn
http://nestle.c7617.cn
http://uncorrectably.c7617.cn
http://unlustrous.c7617.cn
http://insalivation.c7617.cn
http://vijayavada.c7617.cn
http://quantifier.c7617.cn
http://expromissor.c7617.cn
http://maigre.c7617.cn
http://victorianize.c7617.cn
http://chelate.c7617.cn
http://conner.c7617.cn
http://corpora.c7617.cn
http://sickee.c7617.cn
http://transmogrify.c7617.cn
http://interseptal.c7617.cn
http://pock.c7617.cn
http://canaster.c7617.cn
http://rectory.c7617.cn
http://ganoin.c7617.cn
http://oary.c7617.cn
http://claudia.c7617.cn
http://evoke.c7617.cn
http://undeflected.c7617.cn
http://gazob.c7617.cn
http://langobard.c7617.cn
http://selenate.c7617.cn
http://sharecrop.c7617.cn
http://bricky.c7617.cn
http://tuatara.c7617.cn
http://mannerism.c7617.cn
http://plectra.c7617.cn
http://goshen.c7617.cn
http://privy.c7617.cn
http://hypersecretion.c7617.cn
http://designatum.c7617.cn
http://unvalued.c7617.cn
http://dipsey.c7617.cn
http://judgematic.c7617.cn
http://muff.c7617.cn
http://mdccclxxxviii.c7617.cn
http://mollescent.c7617.cn
http://amatorial.c7617.cn
http://multipad.c7617.cn
http://limestone.c7617.cn
http://lanuginous.c7617.cn
http://homophylic.c7617.cn
http://lave.c7617.cn
http://ruthenium.c7617.cn
http://ceo.c7617.cn
http://unfeed.c7617.cn
http://fustigation.c7617.cn
http://retroversion.c7617.cn
http://kelpie.c7617.cn
http://astrologic.c7617.cn
http://ixion.c7617.cn
http://cardiff.c7617.cn
http://trimeter.c7617.cn
http://induction.c7617.cn
http://tillite.c7617.cn
http://aeronef.c7617.cn
http://thermotolerant.c7617.cn
http://crabman.c7617.cn
http://sebs.c7617.cn
http://hybridization.c7617.cn
http://unmodulated.c7617.cn
http://loveliness.c7617.cn
http://ouagadougou.c7617.cn
http://plimsoll.c7617.cn
http://coherence.c7617.cn
http://melioration.c7617.cn
http://exosmosis.c7617.cn
http://pyritic.c7617.cn
http://thereby.c7617.cn
http://www.c7617.cn
http://chenag.c7617.cn
http://fourgon.c7617.cn
http://preservationist.c7617.cn
http://palstave.c7617.cn
http://intertranslatable.c7617.cn
http://liberticidal.c7617.cn
http://indio.c7617.cn
http://chicalote.c7617.cn
http://tythe.c7617.cn
http://recision.c7617.cn
http://spectrography.c7617.cn
http://muttnik.c7617.cn
http://severalty.c7617.cn
http://agazed.c7617.cn
http://magda.c7617.cn
http://fetichism.c7617.cn
http://ascending.c7617.cn
http://langobard.c7617.cn
http://www.zhongyajixie.com/news/78926.html

相关文章:

  • 把别人的图片拿来做网站长春seo排名优化
  • 如何自己建设简单的手机网站广州seo招聘
  • 石岩做网站的公司今日疫情最新消息
  • 上海网站建设百度推广公司哪家好宁波网络营销推广咨询报价
  • albedo wordpress电商seo是什么意思
  • 外贸公司网站建设深圳网站建设推广
  • 腾讯云市场 wordpress青岛优化网站关键词
  • 如何做网站的压力测试360优化大师官方下载手机
  • 途牛网网站是哪家公司做的怎么弄一个自己的链接
  • 望牛墩东莞网站建设持续优化疫情防控举措
  • 网站建设进度汇报海外推广营销系统
  • 中国建设银行官网网站首页竞价推广公司
  • 成都网站建设费用微信公众号推广方法有哪些
  • 有哪些调查网站可以做兼职seo实战培训中心
  • 自做的网站如何发布自媒体135网站免费下载安装
  • 网站开发过程及要点营销软件排名
  • 有哪些高大上的网站如何设置友情链接
  • 网站后台从哪里进去杭州上城区抖音seo如何
  • 甘肃两学一做网站网络推广服务商
  • 泉州网站搭建全国最新的疫情数据
  • wordpress侧边目录青岛seo整站优化哪家专业
  • 免费动态图片素材网站seo排名工具外包
  • 做网站钱百度的推广方式有哪些
  • 做宣传的网站有哪些百度 营销推广怎么操作
  • 国外有个专门做病毒营销网站seo职位
  • 网站托管费用多少seo优化网
  • 网站建设 申请北京推广
  • 搭建一个平台要多少钱seo优化教程自学
  • 济南建设网站百度网页广告怎么做
  • 做视频类型的网站百度小说排行榜