我来自 Java,所以我熟悉同步而不是互斥。 我想知道 pthread_mutex_t 是否也是可重入的。如果没有,是否还有其他机制?
谢谢
最佳答案
这取决于互斥量类型,默认情况下不进行检查,并且尝试在同一线程中多次锁定它会导致未定义的行为。了解一下 here .
您可以创建类型为 PTHREAD_MUTEX_RECURSIVE
的互斥锁,以便能够递归锁定它,这是通过提供 pthread_mutexattr_t 来完成的将所需的互斥类型设为 pthread_mutex_init
关于c++ - linux中的pthread_mutex_t是否可重入(如果一个线程试图获取它已经持有的锁,则请求成功),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11567877/