マルチスレッドのプログラミング

スレッド固有データの設定

指定したスレッド固有データキーに対して、スレッド固有の割り当てを設定するには、pthread_setspecific(3C) を使用します。

pthread_setspecific の構文

int pthread_setspecific(pthread_key_t key, const void *value);
#include <pthread.h>

pthread_key_t key;
void *value;
int ret;

/* key previously created */
ret = pthread_setspecific(key, value); 

pthread_setspecific の戻り値

pthread_setspecific() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下のいずれかの条件が検出されると pthread_setspecific() は失敗し、対応する値を返します。


ENOMEM

説明:

仮想メモリーが不足しています。


EINVAL

説明:

キーが無効です。


注 –

pthread_setspecific() は、新しい割り当てが設定されても、記憶領域を解放しません。既存の割り当ては、解放する必要があります。解放しない場合は、メモリーリークが発生することがあります。