读书人

pthread 的有关问题

发布时间: 2013-03-22 09:49:50 作者: rapoo

pthread 的问题



void WaitEvent()
{
pthread_cond_wait(&st_csCondWait,&st_csMutex);
pthread_mutex_lock(&st_csMutex);
}
void ActiveEvent()
{
pthread_cond_signal(&st_csCondWait);
pthread_mutex_unlock(&st_csMutex);
}



我封装了下,有时候无法激活 多线程的时候会死锁,是不是不能这样用?
[解决办法]
...当然不能这样用啊...

void WaitEvent()
{
pthread_mutex_lock(&st_csMutex);
pthread_cond_wait(&st_csCondWait,&st_csMutex);
pthread_mutex_unlock(&st_csMutex);
}
void ActiveEvent()
{
pthread_cond_signal(&st_csCondWait);
}

pthread_cond_wait的时候会释放锁,当这个函数返回的时候回重新加锁.

读书人网 >UNIXLINUX

热点推荐