2

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

4

1 回答 1

2

不,没有用于定时 pthread_join() 的标准 API,而且在 Android 使用的仿生 C 库中也没有。尽管查看仿生源代码,但他们很容易实现 glibc 中可用的 pthread_timedjoin_np() API。

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

于 2012-12-06T20:45:23.703 回答