PR_NewThreadPrivateIndex¶
返回一个用于每个线程私有数据表的新的索引,并可以选择与分配给该索引的数据关联一个析构函数。
语法¶
#include <prthread.h>
PRStatus PR_NewThreadPrivateIndex(
PRUintn *newIndex,
PRThreadPrivateDTOR destructor);
参数¶
PR_NewThreadPrivateIndex 具有以下参数
newIndex
在输出时,一个对进程中的所有线程都有效的索引。您可以使用此索引与 PR_SetThreadPrivate 和 PR_GetThreadPrivate 一起使用。
destructor
指定与索引关联的私有数据的析构函数 PRThreadPrivateDTOR。此函数可以指定为
NULL
。
返回值¶
该函数返回以下值之一
如果成功,则返回
PR_SUCCESS
。如果索引总数超过 128,则返回
PR_FAILURE
。
描述¶
如果 PR_NewThreadPrivateIndex 成功,则同一进程中的每个线程都能够将私有数据与新索引关联。在为索引实际设置数据之前,该索引处私有数据的值为 NULL
。您将此索引传递给 PR_SetThreadPrivate 和 PR_GetThreadPrivate 以设置和检索与该索引关联的数据。
分配索引时,您还可以注册类型为 PRThreadPrivateDTOR 的析构函数。如果使用新索引注册了析构函数,它将在以下两种情况之一中被调用,只要私有数据不是 NULL
使用 PR_SetThreadPrivate 设置替换的私有数据时
线程退出时
该索引为每个绑定线程维护独立的数据值。线程只能访问其自己的线程特定数据。无法在分配私有数据索引后将其释放。