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 是可中断的。