社区
其它技术问题
帖子详情
waitforsingleobject的信号量问题
a5796489
2011-03-14 09:35:01
在waitforsingleobject后面的代码中开了个线程A,主线程(指waitforsingleobject后面的代码)执行完毕,但线程A还在运行,请问这时会不会将信号量设为有信号状态?
...全文
361
3
打赏
收藏
waitforsingleobject的信号量问题
在waitforsingleobject后面的代码中开了个线程A,主线程(指waitforsingleobject后面的代码)执行完毕,但线程A还在运行,请问这时会不会将信号量设为有信号状态?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qman007
2011-03-14
打赏
举报
回复
[Quote=引用 2 楼 fall513 的回复:]
不会的,要手动去设
[/Quote]
你看清楚了,是 Semaphore 信号量,不是Event 事件
fall513
2011-03-14
打赏
举报
回复
不会的,要手动去设
qman007
2011-03-14
打赏
举报
回复
waitforsingleobject(信号量句柄,timeval)只是让信号量的当前值-1,如果
信号量的当前值>0,则该信号量是有信号的,否则无信号
(waitforsingleobject(信号量句柄,timeval)阻塞),
通过 ReleaseSemaphore 可以让信号量的当前值+1,也就是让信号量有信号
线程等待 推荐
Wait
For
Single
Object
() 不推荐busyLoop
本文介绍了BusyLoop的概念及其在CPU资源消耗上的
问题
,并推荐使用
Wait
For
Single
Object
方法来替代。
Wait
For
Single
Object
不仅可以有效管理线程等待,还可以用于多种Windows核心对象的状态监测,如
信号量
、互斥器及线程对象。
Windows线程
信号量
CreateSemaphore创建
信号量
、RelaseSemaphore设置
信号量
本文介绍了Windows系统中
信号量
的概念及其用途,主要用于解决线程间的同步和通知
问题
。通过CreateSemaphore函数创建
信号量
,设置初始和最大计数值。线程通过
Wait
For
Single
Object
等待
信号量
,ReleaseSemaphore增加
信号量
计数,CloseHandle关闭句柄来实现对
信号量
的管理。
信号量
作为计数器,可控制多个线程的并发访问。
Windows事件等待学习笔记(四)—— 事件&
信号量
&互斥体
本文深入探讨Windows操作系统中的线程同步机制,包括事件、
信号量
和互斥体的创建、使用及内部原理。通过实验验证不同类型的等待对象如何影响线程行为,解析
Wait
For
Single
Object
函数的处理流程,以及互斥体如何解决遗弃
问题
。
Wait
For
Single
Object
结束线程
本文探讨了如何从主线程控制子线程的退出,包括使用全局变量和
信号量
两种方式。指出全局变量方法存在的
问题
,并详细介绍了利用
Wait
For
Single
Object
函数配合
信号量
进行子线程控制的方法。
信号量
Semaphore 用法及注意事项总结
本文介绍了Windows系统中
信号量
的核心对象特性,强调了创建时初始值和最大值的设置,以及如何通过
Wait
For
Single
Object
和ReleaseSemaphore进行线程同步。通过一个示例程序说明了
信号量
在多线程中的应用,展示了不恰当释放可能导致的
问题
。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章