首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

pthread_cond_wait()的困惑

2013-09-13 
pthread_cond_wait()的疑惑?最近有工作需要,要写个多线程,实现同步,但是看了很多网络的释义不是很理解,觉

pthread_cond_wait()的疑惑?

最近有工作需要,要写个多线程,实现同步,但是看了很多网络的释义不是很理解,觉得解释不通:

如下:

pthread_mutex_t mutex;

pthread_cond_t cond;


void *thread_A(void *prm)

{

pthread_mutex_lock(&mutex); //lock (1) 第一步

pthread_cond_wait(&cond);  //第二步阻塞 block-->unlock(0)-->wait() 第五步return-->lock(2??)!!这里第三步已经做过加锁了,还可以加锁?

pthread_mutex_unlock(&mutex) //  第六步 unlock


// process something...

....

}


void * thread_B(void *prm)

{

pthread_mutex_lock(&mutex); //lock(1) 第三步

pthread_cond_signal(&cond);  // 第四步 signal trigger pthread_cond_wait to exit wait()

pthread_mutex_unlock(&mutex)//第七步unlock

}


从第一步至第五步,第五步做了什么?

热点排行