社区
进程/线程/DLL
帖子详情
CMutex的使用问题,迷茫了很久!
xxjoyjn
2008-06-06 12:45:05
CMutex从基类继承了Lock和Unlock函数,用来等待和释放,而在MSDN上说法是,使用CMutex,CEvent,CCriticalSection,务必使用
CSigleLocK或者CMultiLock来试验Lock或者Unlock。我就迷茫了,CMutex.Lock()和CSingleLock.Lock()以及CMutex.Unlock()和CSingleLock.Unlock()
到底有什么不同?
谢谢赐教!!!
...全文
1567
3
打赏
收藏
CMutex的使用问题,迷茫了很久!
CMutex从基类继承了Lock和Unlock函数,用来等待和释放,而在MSDN上说法是,使用CMutex,CEvent,CCriticalSection,务必使用 CSigleLocK或者CMultiLock来试验Lock或者Unlock。我就迷茫了,CMutex.Lock()和CSingleLock.Lock()以及CMutex.Unlock()和CSingleLock.Unlock() 到底有什么不同? 谢谢赐教!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qgw_2000
2008-06-06
打赏
举报
回复
你在代码里完全可以直接调用CMutex的Lock和Unlock函数,这样只是做了一层抽象,所以的同步对象都可以用统一的管理。
xxjoyjn
2008-06-06
打赏
举报
回复
那为什么不直接调用CMutext的Lock和Unlock函数?
qgw_2000
2008-06-06
打赏
举报
回复
1
CSingleLock和CMultiLock都是用来统一管理CMutex,CEvent,CSemaphore和CCriticalSection同步对象的访问的,它们的成员函数Lock和Unlock分别用来等待和释放这些同步对象。
CSingleLock通过构造函数传入管理的同步对象的指针,CMultiLock传入要管理的多个同步对象的指针。
CSingleLock::Lock的实现:
调用实际同步对象的Lock成员函数,对应到CMutex,实际上调用的是CMutex::Lock,最终都会调用WaitForSingleObject
CSingleLock::Unlock的实现:
调用实际同步对象的Unock成员函数,对应到CMutex,实际上调用的是CMutex::Unock,最终都会调用ReleaseMutex
CMultiLock::Lock的实现:
调用WaitForMultipleObjects或者MsgWaitForMultipleObjects
CMultiLock::Unock的实现:
调用所以同步对象的Unlock函数。
如何
使用
C
Mutex
类的资源
如何
使用
C
Mutex
类 如何
使用
C
Mutex
类 如何
使用
C
Mutex
类 如何
使用
C
Mutex
类
C
Mutex
使用
示例
代码能够比较直观的看到C
Mutex
的
使用
方法和效果。
C++
使用
C
Mutex
类实现线程同步
vC++编写的
使用
C
Mutex
类实现线程同步,可以和vc++深入详解结合起来学习
进程间通信_读者-写者
问题
.doc
MFC提供了一组同步和同步访问类来解决线程同步
问题
。其中, 同步对象包括:CSyncObject、CSemaphore、C
Mutex
,CCriticalSection和CEvent; 同步访问对象包括:CMultiLock和CSingleLock。同步类用于访问资源时保证资源...
线程互斥(模拟计算机)
本系统利用C
MUTEX
互斥对象实现线程间的互斥:生产者和消费者
问题
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章