pthread_join用法

时间:2011-03-29 14:30:43

标签: c++ join pthreads

如果我调用pthread_join(NULL)会发生什么?

3 个答案:

答案 0 :(得分:10)

你得到一个编译时错误; pthread_join()需要2个参数:)

答案 1 :(得分:3)

如果pthread_join()的两个预期参数中的第一个是NULL,那么任何(坏)都可能在运行时发生。来自www.opengroup.org的规范:“行为未定义,如果pthread_join()的thread参数指定的值不引用可连接的线程。”

pthread_join()的第二个参数接受NULL。

编辑:确实有些实现可以指定行为。检查系统上pthread_join的手册页。

答案 2 :(得分:0)

理想情况下,您始终会检查函数返回

if (0 != pthread_join(thread, &result)) 
{
   fprintf(stderr, "pthread_join error\n");
}
  

如果成功,pthread_join()函数返回零。否则,返回错误号以指示错误。