1.int pthread_create(pthread_t *thread,pthread_attr_t *attr,(void *)(*fun)(void *),void *arg);
2.int pthread_join(pthread_t thread,void **return_value);
3.void pthread_exit(void *);
4.pthread_t pthread_self(void);
5.int pthread_equal(pthread_t t1,pthread_t t2);
6.int pthread_cancel(pthread_t thread);
1.pthread_attr_t attr;
2.int pthread_attr_init(pthread_attr_t * attr);
3.int pthread_attr_setdetachstate(pthread_attr_t *attr,int detachstate);
4.int pthread_attr_getdetachstate(const pthread_attr_t *attr,int *detachstate);
5.pthread_t tid;
6.pthread_attr_t attr;
7.pthread_attr_init(&attr);
8.pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
9.pthread_create(&tid, &attr, THREAD_FUNCTION, arg);
10.pthread_attr_destroy(pthread_attr_t *attr);
1.pthread_mutex_t mutex;
2.int pthread_mutex_init(pthread_mutex_t *mutex,pthread_mutexattr_t *attr);
3.int pthread_mutex_lock(pthread_mutex_t *mutex);
4.int pthread_mutex_unlock(pthread_mutex_t *mutex);
5.int pthread_mutex_trylock(pthead_mutex_t *mutex);
6.int pthread_mutex_destory(pthread_mutex_t *mutex);
1.pthread_con_t con;
2.pthread_con_init(pthread_t *con,pthread_conattr_t *attr);
3.pthread_con_signal(pthread_con_t *con);
4.pthread_con_broadcast(pthread_t *con);
5.pthread_con_wait(pthread_con_t *con.pthread_mutex_t *mutex);
6.pthread_con_timedwait(pthread_con_t *con,pthread_mutex_t *mutex,const struct timespec *abstime);
7.struct timespec
{
time_t tv_sec;
long tv_nsec;
}
8.pthread_con_destory(pthread_con_t * con);
1.sem_t sem;
2.int sem_init(sem_t *sem,int pshare,unsigned int value);
3.int sem_wai(sem_t *sem);
4.int sem_trywait(sem_t *sem);
5.int sem_post(sem_t *sem);
6.int sem_timewait(sem_t *sem,const struct timespec *abstimeout);
7.int sem_getvalue(sem_t *sem,int *val);
8.int sem_destory(sem_t *sem);
1.pthread_key_t key;
2.int pthread_key_create(pthread_key_t *key,void (*fun)(void));
3.int pthread_setspecific(pthread_key_t key,void *pointer);
4.void *pthread_getspecifi(pthread_key_t key);
5.int pthread_key_de;ete(pthread_key_t key);