是否有pthreads API调用可以对pthread_join()
执行类似的操作但是超时?我正在寻找一个类似于Windows WaitForSingleObject(HANDLE handle,int timeout)函数的函数。我知道有一个pthread_timedjoin()
电话,但这只适用于Linux的某些版本(绝对不适用于Android)。
答案 0 :(得分:2)
不,时间pthread_join()没有标准API,也没有Android使用的仿生C库中可用的API。虽然看一下仿生源代码,但是他们很容易实现glibc中提供的pthread_timedjoin_np()API。
你可以做的是修改你的线程,在它完成并即将退出时发出pthread_cond_t信号。你想在该线程上等待的另一个线程在条件变量上执行pthread_cond_timedwait()。