假设我锁定了一个名为wfg
pthread_mutex_lock(&wfg);
//and then I return from the function
return 0;
互斥锁会保持锁定状态吗?
答案 0 :(得分:7)
互斥锁保持锁定状态,直到从获得锁定的线程调用pthread_mutex_unlock
为止。功能与它无关。你可以有像
pthread_mutex_t wfg;
...
void razzle()
{
pthread_mutex_lock(&wfg);
}
void dazzle()
{
pthread_mutex_unlock(&wfg);
}
...
razzle();
... do stuff ...
dazzle();
这样会很好(但很傻)。
答案 1 :(得分:6)