一、pthread_cond_timedwait即便超时,也要从新得到mutex,若是mutex暂时没法获得,将等待。线程
能够设置一个线程等condition 1秒,另外一线程占用mutex5秒,发现第一个线程pthread_cond_timedwait返回须要5秒。it
二、调用pthread_cond_timedwait等待中的线程,在被detach后,也要从新得到mutex,才会退出。io
能够设置一个线程pthread_cond_wait,另外一线程占用mutex 5秒,还有一个线程对第一个线程调用pthread_cancel,能够发现也须要5秒才返加。thread
三、对一个被join的线程A,再有一个线程对A调用pthread_detach, pthread_join与pthread_cancel都不会出错,pthread_cancel返回0,在线程结束时,pthread_join也返回0(pthread_cancel对已经被join的线程没有影响)。im
四、对一个被detached的线程id,再调用pthread_join,则会返回EINVAL(22)错误。di
五、pthread_cancel一个线程A,该线程正在用pthread_join等待线程B。 线程A被取消,线程B被结束了。co