2013-09-10 89 views

回答

1

QMutex这个文件会导致错误:

Attempting to unlock a mutex in a different thread to the one that locked it results in an error.

而不是QMutex可以使用 QSemaphore作为二进制信号,以达到想要的行为。

//create 
QSemaphore semaphore(1); 

//lock in thread 1 
semaphore.acquire(); 

//unlock in thread 2 
semaphore.release(); 
0

不,你不能这样做:

文件到QMutex ::解锁()

“解锁互斥量试图在不同的线程到锁定它产生的一个解锁互斥。出现错误解锁未锁定的互斥锁会导致未定义的行为。“

是的,它的确在共享内存中,但没有办法以标准方式更改它。

+0

嗨,请添加链接到您使用的文档。它可能不被文档所允许,但可能在现实生活中运行,对于Linux中的Qt runinng来说,通常会有什么样的行为? – osgx

+0

如果你使用'QtCreator'你可以看看那里的文档......它应该是你的qt版本的文档。 – Zaiborg

相关问题