社区
进程/线程/DLL
帖子详情
关于WaitForSingleObject信号量的问题
tonyyang8848
2015-05-28 10:30:25
WaitForSingleObject(
HANDLE hObject, //指明一个内核对象的句柄
DWORD dwMilliseconds);
如果hObject被多个线程WaitForSingleObject调用,那么hObject是不是也需要用临界区来进行线程同步
...全文
695
5
打赏
收藏
关于WaitForSingleObject信号量的问题
WaitForSingleObject( HANDLE hObject, //指明一个内核对象的句柄 DWORD dwMilliseconds); 如果hObject被多个线程WaitForSingleObject调用,那么hObject是不是也需要用临界区来进行线程同步
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Saleayas
2015-05-29
打赏
举报
回复
她就是让多个线程来调用的。 那个线程获取她的使用权,就可以醒过来,否则就继续等待。
worldy
2015-05-29
打赏
举报
回复
内核对象,不需要另外再同步
redui
2015-05-29
打赏
举报
回复
hObject不需要临界区,但如果等待到信号后处理其他的任务可能需要临界区
zgl7903
2015-05-29
打赏
举报
回复
如果hObject也使用临界区, 那么这些等待的线程又都要访问到这个临界区, 那么临界区是不是也得再加临界区,临界区再加临界区…… 死循环了 WaitForSingleObject 在句柄无效时 会返回 WAIT_FAILED
shenyi0106
2015-05-29
打赏
举报
回复
多个线程调用时,一旦有信号,系统会择机选择一个等待着来唤醒。 至于谁会被唤醒,你最好还是去问微软 这是内核对象,不用同步,内核会帮你管理的妥妥的
Wait
For
Single
Object
演示、Window信号用法演示
Wait
For
Single
Object
演示、Window信号用法演示
c++多线程同步——
信号量
c++多线程同步——
信号量
。非常简单的MFC工程。
CSemaphore
信号量
使用实例
用VS2008写的mfc工程,可编译。测试
信号量
CSemapaore在线程并发中的功能,并用到
Wait
For
Single
Object
()和ReleaseSemaphore()函数。
桌面\关于
Wait
For
Single
Object
实例分析
同步方式的线程同步机制具有速度快的特点,但也有局限性,如互锁家族只能在单值上运行,根本无法例线程进入等待状态. 可以用关键代码使线程进入等待状态,但是只能用于单个进程的中的线程同步. 关键代码容易使死锁发生,因为无法设定超时的值. 面对用户模式下的
问题
与不足,我们来分析一下内核模式下的线程同步,通过使用ProcessExplorer工具分析,得到当一个句柄被调用多次时,前面的句柄(你可以kill 之前的那些个线程)等待函数将失效,程序只处理最新的那个等待信号.
VC多线程编程,利用
信号量
进行控制
利用VC实现多线程编程。线程间的通信有多种,本程序时利用
信号量
机制实现
进程/线程/DLL
15,466
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章