我来自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/

10-11 04:01