多次加入同一个线程

Rom*_*man 4 c linux posix pthreads

我的程序中的流程从同一个调用线程调用了pthread_join(thread_id, nullptr); 2 次thread_id

第一次调用成功返回,但第二次它只是无限期挂起。文档没有明确说明禁止对同一个thread_id多次调用pthread_join。真的是这样吗?

我知道我可以使用 pthread_cond_t 实现线程同步,但我想先了解 pthread_join 的限制。

son*_*ave 5

查看文档pthread_join- 在注释部分中指出:

与先前已连接的线程连接会导致未定义的行为。

链接中还有许多其他关于加入线程(以及其他方面,如果您搜索其他一些 pthread 函数)的好信息。