PR_NewThreadPrivateIndex

返回一个用于每个线程私有数据表的新的索引,并可以选择与分配给该索引的数据关联一个析构函数。

语法

#include <prthread.h>

PRStatus PR_NewThreadPrivateIndex(
   PRUintn *newIndex,
   PRThreadPrivateDTOR destructor);

参数

PR_NewThreadPrivateIndex 具有以下参数

newIndex

在输出时,一个对进程中的所有线程都有效的索引。您可以使用此索引与 PR_SetThreadPrivatePR_GetThreadPrivate 一起使用。

destructor

指定与索引关联的私有数据的析构函数 PRThreadPrivateDTOR。此函数可以指定为 NULL

返回值

该函数返回以下值之一

  • 如果成功,则返回 PR_SUCCESS

  • 如果索引总数超过 128,则返回 PR_FAILURE

描述

如果 PR_NewThreadPrivateIndex 成功,则同一进程中的每个线程都能够将私有数据与新索引关联。在为索引实际设置数据之前,该索引处私有数据的值为 NULL。您将此索引传递给 PR_SetThreadPrivatePR_GetThreadPrivate 以设置和检索与该索引关联的数据。

分配索引时,您还可以注册类型为 PRThreadPrivateDTOR 的析构函数。如果使用新索引注册了析构函数,它将在以下两种情况之一中被调用,只要私有数据不是 NULL

该索引为每个绑定线程维护独立的数据值。线程只能访问其自己的线程特定数据。无法在分配私有数据索引后将其释放。