写了一个qt程序,由生产者和消费者两个线程在总控制里启动,在debug调试时有结果执行成功,但直接构建加运行后就会一直卡死,生产者结束了,但一直没有信号发出使消费者结束。真搞不懂为什么o(╥﹏╥)o
如果需要的话,我发压缩包给你。
qt程序为什么debug成功,直接运行一直卡死线程结束不了?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- Vayne16 2023-04-18 10:04关注
问题出在代码没有正确地处理线程的通信。在debug状态下因为程序执行速度较慢,可能没有暴露出线程同步的问题,而直接运行程序时,线程之间的不同步就会导致程序卡死。建议检查程序中线程的同步方式是否正确,例如使用信号和槽机制、使用互斥锁等。当生产者结束时,应当发送一个信号通知消费者停止运行,避免出现一直等待的情况。需要具体分析代码实现,才能给出更具体的建议。其中一些常见的线程同步问题包括:死锁、资源竞争等。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 孟德尔随机化怎样画共定位分析图
- ¥18 模拟电路问题解答有偿
- ¥15 Matlab在app上输入带有矩阵形式的初始条件发生错误
- ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
- ¥15 误删注册表文件致win10无法开启
- ¥15 请问在阿里云服务器中怎么利用数据库制作网站
- ¥60 ESP32怎么烧录自启动程序
- ¥50 html2canvas超出滚动条不显示
- ¥15 java业务性能问题求解(sql,业务设计相关)
- ¥15 52810 尾椎c三个a 写蓝牙地址