std :: mutex的线程安全

问题描述:

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

+0

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

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

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

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

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

cppreference reads:

互斥量必须执行的当前线程被锁定,否则,行为是不确定的。