pthread_join用来等待另一个线程的结束,函数原型如下:

      extern int pthread_join __P ((pthread_t __th, void **__thread_return));

  这个调用之后,如果没有出错,会引起调用线程的阻塞,直到所等待的线程结束。这个调用的第一个参数很容易理解,表示需要等待哪个线程,第二个参数是我们自己定义的一个指针变量,用来存储所等待线程结束之后的返回值。

    我们主要看一下这个变量可能是从哪来的,以pthread_exit为例,这个调用用来主动结束线程。函数原型如下:

    extern void pthread_exit __P ((void *__retval)) __attribute__ ((__noreturn__));

    可以看到这个函数有一个返回码retval,这个参数如果不空的话,会被直接传递给thread_return .

posted on 2014-04-02 11:47  Siylzヾ夏天  阅读(199)  评论(0编辑  收藏  举报