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

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

pthread_setspecific(3T)

pthread_setspecific(3T) は、スレッド固有な割り当てを、指定したスレッド固有データキーに設定します。


プロトタイプ:
int	pthread_setspecific(pthread_key_t key, const void *value);

#include <pthread.h>

pthread_key_t key;
void *value;
int ret;

/* 前に作成されたキー */
ret = pthread_setspecific(key, value); 

戻り値

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


ENOMEM

仮想記憶が足りません。


EINVAL

キーが無効です。


注 -

pthread_setspecific() スレッドがすでに使用しているキーに対してそのスレッドの新しい割り当てを設定した場合は、メモリーリークが発生する可能性があります。