gpt4 book ai didi

c++ - 将 C++11 线程操作与 QThread 操作混合

转载 作者:太空狗 更新时间:2023-10-29 23:06:07 26 4
gpt4 key购买 nike

是否可以将 c++11 互斥锁与 Qthread 混合使用?

例如,如果您有一个要与 qt gui 一起使用的 Dll,它将从您的 Dll 加载一个函数,以及一个在单独的线程上更新 gui 的函数。 Dll 函数包含一个大循环,并放置了一个 C++11 互斥量,以便只有一个线程可以读取或写入 Dll 函数中使用的变量。使用 QThreads 是否可能或可行,或者 QThreads 必须与 QMutexs 一起使用,同样适用于 C++11 线程操作?

最佳答案

我想不出为什么不能将 c++11 互斥体与 QThread 一起使用的原因。锁定 QMutex 或 C++11 互斥量将具有相同的效果:除非已解锁(或配置为递归锁定,如果可用),否则无法重新锁定它。我不认为 QMutex 实现与 QThread 紧密耦合。

我想 C++11 互斥体和 QMutex 在 Linux 中实现时都依赖于 pthread。在 Windows 上实现时,它们可能都依赖于 Windows API。

当然,如果我错了,请随时纠正我。

顺便说一句,你有没有用 QThread 运行任何测试使用 C++11 互斥体?

关于c++ - 将 C++11 线程操作与 QThread 操作混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16900418/

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