首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

pthread 的有关问题

2013-03-22 
pthread 的问题void WaitEvent(){pthread_cond_wait(&st_csCondWait,&st_csMutex)pthread_mutex_lock(&st

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的时候会释放锁,当这个函数返回的时候回重新加锁.

热点排行