如何解决在Qt中实现临界区
| 我需要在Qt(4.7.3,Windows XP)中认识关键部分。 例如,公共插槽:void MyClass::myPublicSlot(...local params...)
{
...
block of code working with global params;
...
}
功能“ 1”由定时器启动。
执行该功能可能需要很长时间,有时甚至超过计时器的滴答声(例如,单击按钮)。
需要锁定block of code working with global params
。
函数调用可以是多线程和单线程。
附言我尝试使用QMutex和QMutexLocker,但在单线程情况下会导致死锁。
解决方法
QMutex
就是你想要的。也许您正在递归使用它,但没有创建递归互斥体?这是单线程代码中死锁的唯一解释。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。