互斥变量的数量限制,pthread_mutex_init返回值12,该如何处理

互斥变量的数量限制,pthread_mutex_init返回值12
本帖最后由 alldying 于 2015-10-20 19:58:07 编辑
class CMyMutex
{
public:
CMyMutex()
{
pthread_mutexattr_init(&m_attr);
pthread_mutexattr_settype(&m_attr,PTHREAD_MUTEX_RECURSIVE_NP);
pthread_mutex_init(&m_mutexPosix, &m_attr);
}
~CMyMutex(){pthread_mutex_destroy(&m_mutexPosix);}

void Lock() {pthread_mutex_lock(&m_mutexPosix);}
void Unlock() {pthread_mutex_unlock(&m_mutexPosix);}

private:
pthread_mutexattr_t m_attr;
pthread_mutex_t m_mutexPosix;
};
pthread_mutex_init返回12,m_attr值不为0,m_mutexPosix为0,

查了一下,说是同时拥有的互斥锁太多,怎么破?请各路大神帮忙,真的有限制吗,最大能有多少个?
------解决思路----------------------
你的代码都是一些声明,让我怎么帮你?
还是直接把分给我吧~~互斥变量的数量限制,pthread_mutex_init返回值12,该如何处理
------解决思路----------------------
互斥锁没有个数限制,但是楼主你这个是递归互斥锁,递归次数是有限制的。超出时会得到错误信息EAGAIN