PR_JoinThread¶
阻塞调用线程,直到指定的线程终止。
语法¶
#include <prthread.h>
PRStatus PR_JoinThread(PRThread *thread);
参数¶
PR_JoinThread 具有以下参数
thread
要加入的线程的有效标识符。
返回值¶
该函数返回以下值之一
如果成功,则返回
PR_SUCCESS
如果失败 - 例如,如果找不到与指定目标线程对应的可加入线程,或者如果目标线程不可加入 - 则返回
PR_FAILURE
。
描述¶
PR_JoinThread 用于同步线程的终止。该函数是同步的,因为它会阻塞调用线程,直到目标线程处于可加入状态。 PR_JoinThread 仅在目标线程从其根函数返回后才返回到调用方。
PR_JoinThread 必须在 PR_CreateThread 返回后才能调用。如果 PR_JoinThread 不是在与 PR_CreateThread 相同的线程上调用,则调用方有责任确保 PR_CreateThread 已完成。
多个线程不能等待同一个线程完成。其中一个调用线程会成功操作,而其他线程则以错误 PR_FAILURE
终止。
如果目标线程已终止,则调用线程不会被阻塞。
PR_JoinThread 是可中断的。