社区
Qt
帖子详情
如何让QT编写的线程等待多个信号量?
牧童吃五谷
2020-09-15 09:35:40
采用VC++编写程序,有一个函数是WaitForMultipleObjects(...)来等待多个信号量,不知道QT是否有类似的等待多个QSemaphore信号量的函数?
如果没有这个等待多个信号量的函数,那么线程如果等待的是别人网络发送过来的消息,那么就可能永远等待下去,程序在想退出的时候都无法退出?
...全文
18507
3
打赏
收藏
如何让QT编写的线程等待多个信号量?
采用VC++编写程序,有一个函数是WaitForMultipleObjects(...)来等待多个信号量,不知道QT是否有类似的等待多个QSemaphore信号量的函数? 如果没有这个等待多个信号量的函数,那么线程如果等待的是别人网络发送过来的消息,那么就可能永远等待下去,程序在想退出的时候都无法退出?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
牧童吃五谷
2020-10-06
打赏
举报
回复
现在自己解决了部分情况,那就是增加了全局变量,如果是要求退出线程,那么就设置这个全局变量为1,然后自己发出退出线程的命令; 在等待信号量的线程中,在信号量发信号后,立即判断是否这个全局变量为1,如果为1,就退出线程。 这样的编程思路的缺点就是这个等待信号量必须是我自己程序可以设置发信号的,如果自己不能设置这个信号量(如某些特殊情况下别人提供的库函数),则可能无法解决。
牧童吃五谷
2020-10-06
打赏
举报
回复
这样就是要求每个信号量就需要建立一个等待线程的,然后还有一个主线程,这样程序的线程就太多了
十八道胡同
2020-09-18
打赏
举报
回复
是否可以换个思路。多个信号量触发多个槽,这些槽操作同一个线程安全的队列。 另外一个线程循环处理队列里面的数据。
Qt
编写
视频监控画面分割界面
Qt
编写
视频监控画面分割界面,支持四画面+六画面+八画面+九画面+十六画面,鼠标右键菜单切换。
Qt
学生信息管理系统
Qt
学生信息管理系统 数据库 内含文档
QT
简单的HttpServer
这是一个基于
QT
的一个简单的Http服务器,共大家学习,研究。
Qt
模仿 360安全卫士 10.2版本
我这个人就是贱,要一点辛苦分。 程序阴影边缘,动态按钮,托盘菜单.相似率高达95%
【
Qt
】
Qt
线程
同步之QSemaphore
信号量
Qt
—
线程
同步之QSemaphore 文章目录
Qt
—
线程
同步之QSemaphore一、简介二、成员函数API(2-1)获取n个资源(2-2)释放n个资源(2-3)获取可用资源的数量(2-4)尝试获取n个资源(2-5)在一段时间内尝试获取n个资源三、使用示例(3-1)全局变量(3-2)Producer生产者类(3-3)Consumer消费者类(3-4)main函数 一、简介
信号量
是互斥锁的泛化。一个互斥的对象只能被锁定一次,但是可以多次获取一个
信号量
。
信号量
通常用于:保护一定数量的相同资源。 二、成员
Qt
21,480
社区成员
26,692
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章