2014-12-02 176 views
3

我可以在一个线程中锁定std :: mutex并在其他线程中解锁它吗?这是没有任何特定工程背景的理论问题。我只是好奇。std :: mutex的线程安全

+0

否参见http://www.geeksforgeeks.org/mutex-vs-semaphore/ – yohjp 2014-12-03 07:46:36

回答

7

C++标准,[thread.mutex.requirements.mutex]/21和22:

表达m.unlock()应良好形成并且具有以下语义:

        需要:调用线程应拥有互斥锁。

违反了在要求需要条款引起未定义行为。