スレッド特有のデータを保持する為のキーを作成します。
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が返されます。エラーの時は、エラーに応じた値が返されます。
最初のバージョンは常に打ち捨てられる。