当前位置: 技术问答>linux和unix
pthread_cond_timedwait用法
来源: 互联网 发布时间:2016-08-13
本文导语: 本帖最后由 borefo 于 2010-03-24 16:20:53 编辑 当pthread_cond_timedwait的时间值到了,但条件还没出现,pthread_cond_timedwait返回时需重新锁住互斥量吗,还是立即返回?如果锁住,什么时候释放呢?谢谢 | 杯具了...
|
杯具了,眼神不好使了。
那我告诉你,pthread_cond_timedwait和pthread_cond_wait()原理,用户基本相同,只是有一点是
pthread_cond_timedwait定时之后会接触阻塞。你现在再过去看那个贴你就知道了。
程序调用pthread_cond_timedwait的时候,他都会默认自动解锁--加锁的动作。也就是说,
pthread_cond_timedwait返回的需要把锁拿到,并给他加锁,因为,pthread_cond_timedwait之前解锁
过。时间到了,他连所锁都没拿到。。。。。不解锁,pthread_cond_timedwait也回不来啊。
|
pthread_cond_timedwait返回时要重新锁住互斥量,然后线程退出临界区时在代码中显式调用:
pthread_mutex_lock();
pthread_mutex_lock();