程序中的流程调用pthread_join(thread_id, nullptr);
来自同一个调用线程的相同thread_id
的2次。
第一次调用成功返回,但第二次无限期挂起。该文档没有明确说明它被禁止多次为同一个thread_id调用pthread_join。确实是这样吗?
我知道我可以使用pthread_cond_t实现线程同步,但我想首先了解pthread_join的限制。
答案 0 :(得分:4)
查看documentation for pthread_join
- 在Notes部分中说明:
加入先前已加入的线程会导致未定义的行为。
链接中有很多关于加入线程的好信息(以及其他方面,如果你搜索其他一些pthread函数)。