MFC的多线程同步和互斥

四种方式:

临界区

互斥量

信号量

事件

 特点操作原语MFC下的操作
临界区    虽然临界区同步速度很快,但却只能用来同步本进程内的线程

EnterCriticalSection()(定义在WinBase.h中)
LeaveCriticalSection()

CCriticalSection类
Lock()
UnLock()

互斥量

比临界区复杂。因为使用互斥不仅仅能够在同一应用程序不同线程中实现资源的安全共享,

而且可以在不同应用程序的线程之间实现对资源的安全共享

CreateMutex()创建一个互斥量 
OpenMutex()打开一个互斥量 
ReleaseMutex()释放互斥量 
WaitForMultipleObjects()等待互斥量对象 
CMutex
信号量信号允许多个线程同时使用共享资源,它指出了同时访问共享资源的线程最大数目    CreateSemaphore()创建一个信号量 
    OpenSemaphore()打开一个信号量 
    ReleaseSemaphore()释放信号量 
    WaitForSingleObject()等待信号量 
HANDLE 
事件可以实现不同进程中的线程同步操作    CreateEvent()创建一个信号量 
    OpenEvent()打开一个事件 
    SetEvent()回置事件 
    WaitForSingleObject()等待一个事件 
    WaitForMultipleObjects()
HANDLE 

参考文章:

https://www.cnblogs.com/lyjclsd/p/3604416.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodingLife99

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值