BSD库函数手册翻译之pthread_join函数

有些话、适合烂在心里 提交于 2019-12-17 04:32:36

名称

    pthread_join  -- 等待线程结束

概要

 

    #include <pthread.h>

    int

    pthread_join(pthread_t thread,void **value_ptr);

描述

       除非目标线程已经终止,否则函数pthread_join()会暂停调用线程执行,直到目标线程终止为止。

       当传入一个非NULL的参数value_ptr 来调用函数pthread_join() 并成功返回时,正在终止的线程传给函数pthread_exit() 的值被储存在由value_ptr所引用的位置。当函数pthread_join() 成功返回时,目标线程已经被终止了。对同一个目标线程同时多次调用函数pthread_join() 的结果是未定义的。若调用函数pthread_join()的线程被取消,则目标线程未被分离

返回值

        若执行成功,则函数pthread_join()将返回零。否则,将返回一个错误码来指示错误。

错误

        函数pthread_join()在以下情形下会失败:

         [EINVAL]  实现已经检测到由线程指定的值没有引用到可连接的线程。

         [ESRCH]  没有发现对应于给定线程ID thread的线程。

         [EDEADLK] 检测到死锁或参数thread的值指定的是调用函数pthread_join()的线程。

另请参阅:

        wait(2), pthread_create(3)

标准:

     函数pthread_join()符合ISO/IEC 9945-1:1996 (``POSIX.1'')这一标准。

BSD                          2010 年1月23日                          BSD

         

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!