Android / Linux线程join超时

有没有pthreads API调用,可以做一些类似pthread_join()但超时? 我正在寻找一个类似于Windows WaitForSingleObject(HANDLE句柄,int超时)函数的函数。 我知道有一个pthread_timedjoin()调用,但只有某些版本的Linux(绝对不是在Android)上才可用。

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

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