linux线程操作函数

线程基本操作

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);


YES,make it !




你可能感兴趣的:(linux线程操作函数)