可以将c++11互斥锁与Qthread混合使用吗?
例如,如果您有一个要与qt一起使用的Dll,该qt将从您的Dll加载一个函数,并在单独的线程上更新gui。Dll函数包含一个大循环,并且放置了一个C++11互斥锁,以便只有一个线程可以从Dll函数中使用的变量中读取或写入。是否有可能或可行地使用QThreads,或者QThreads是否必须与QMutexs一起使用,同样用于C++11线程操作?
发布于 2013-06-03 23:56:43
我想不出为什么不能在QThread中使用c++11互斥锁。锁定QMutex或C++11互斥锁具有相同的效果:您不能重新锁定它,除非它已经解锁(或配置为递归锁定,如果可用)。我不认为QMutex实现与QThread紧密耦合。
我认为当在C++11中实现时,Linux和QMutex都依赖于pthread。当在Windows上实现时,它们可能都依赖于Windows API。
当然,如果我错了,请随时纠正我。
顺便说一句,你有没有用QThread运行过C++11互斥的测试?
https://stackoverflow.com/questions/16900418
复制相似问题