Android / Linux线程加入超时

时间:2012-12-06 20:35:19

标签: android linux multithreading timer pthread-join

是否有pthreads API调用可以对pthread_join()执行类似的操作但是超时?我正在寻找一个类似于Windows WaitForSingleObject(HANDLE handle,int timeout)函数的函数。我知道有一个pthread_timedjoin()电话,但这只适用于Linux的某些版本(绝对不适用于Android)。

1 个答案:

答案 0 :(得分:2)

不,时间pthread_join()没有标准API,也没有Android使用的仿生C库中可用的API。虽然看一下仿生源代码,但是他们很容易实现glibc中提供的pthread_timedjoin_np()API。

你可以做的是修改你的线程,在它完成并即将退出时发出pthread_cond_t信号。你想在该线程上等待的另一个线程在条件变量上执行pthread_cond_timedwait()。