gpt4 book ai didi

multithreading - 在Qt中实现临界区

转载 作者:行者123 更新时间:2023-12-03 12:52:57 26 4
gpt4 key购买 nike

我需要在 Qt(4.7.3,Windows XP)中实现临界区。

例如,公共(public)插槽:
void MyClass::myPublicSlot(...local params...)

{



...

block of code working with global params;

...




}
功能 void myPublicSlot由计时器开始。
执行该功能可能需要很长时间,有时超过计时器滴答时间(或者,例如,按钮单击)。
需要锁 block of code working with global params .
函数调用可以是多线程的,也可以是单线程的。

附言我尝试使用 QMutex 和 QMutexLocker,但在单线程情况下会导致死锁。

最佳答案

QMutex是你想要的。也许您正在递归地使用它但没有创建递归互斥锁?这是单线程代码中死锁的唯一解释。

关于multithreading - 在Qt中实现临界区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5655183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com