Silphire (7255) の日記

2003 年 01 月 12 日
午後 11:58

pthread日記(8) - pthread_key_create()

スレッド特有のデータを保持する為のキーを作成します。

int pthread_key_create(pthread_key_t *key, void (*destructor)(void*));

pthreadには、スレッドに固有のデータを割り当てる機能があります。データは全てのスレッドに対して公開されます。

pthread_key_create()は、スレッド固有のデータを持つ為のキーを作成します。キーが作られた時には、データにはNULLが結びつけられています。実際にデータを結びつけるには、 pthread_setspecific()を使います。

新しくスレッドが作られた時、そのスレッドの中では全てのキーにNULLが割り当てられます。

destructorは、NULLで無いデータがキーに割り当てられており、キーが属するスレッドが終了した時に呼び出されるデストラクタです。必要無い時はNULLを指定します。1つのスレッドに複数のデストラクタが存在した時、それらの呼び出される順番は未定義です。

pthread_key_create()が成功した時には、keyにキーが格納され、戻り値として0が返されます。エラーの時は、エラーに応じた値が返されます。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

最初のバージョンは常に打ち捨てられる。

処理中...