creteness, the TSD areas can be viewed as arrays of <B>void
*</B> pointers, TSD keys as integer indices into these arrays, and
the value of a TSD key as the value of the corresponding array
element in the calling thread. 
</P>
<P>When a thread is created, its TSD area initially associates <B>NULL</B>
with all keys. 
</P>
<P><B>pthread_key_create</B> allocates a new TSD key. The key is
stored in the location pointed to by <I>key</I>. There is a limit of
<B>PTHREAD_KEYS_MAX</B> on the number of keys allocated