因为pthread的库不是linux系统的库,所以在进行编译的时候要加上-lpthread
pthread.h
int pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);//创建线程
参数thread:线程创建时,这个指针指向变量中被写入一个标识符,标识符来引用新线程
参数attr:用于设置线程的属性
参数start_routine:指定线程将要执行的函数
参数arg:要执行函数传递的参数
void pthread_exit(void *retval); //线程退出
retval:线程退出返回值的指针
int pthread_join(pthread_t th, void **thread_return);//阻塞调用线程,直到指定的线程终止
参数th:指定将要等待的线程
参数thread_return:指向线程的返回值
pthread_mutex_t count_lock = PTHREAD_MUTEX_INITIALIZER;
int pthread_mutex_lock(pthread_mutex_t *mutex); //加锁
int pthread_mutex_unlock(pthread_mutex_t *mutex); //解锁
int pthread_mutex_destroy(pthread_mutex_t *mutex); //清理
pthread_t pthread_self(void); //获取调用线程的标识
pthread.h
int pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);//创建线程
参数thread:线程创建时,这个指针指向变量中被写入一个标识符,标识符来引用新线程
参数attr:用于设置线程的属性
参数start_routine:指定线程将要执行的函数
参数arg:要执行函数传递的参数
void pthread_exit(void *retval); //线程退出
retval:线程退出返回值的指针
int pthread_join(pthread_t th, void **thread_return);//阻塞调用线程,直到指定的线程终止
参数th:指定将要等待的线程
参数thread_return:指向线程的返回值
pthread_mutex_t count_lock = PTHREAD_MUTEX_INITIALIZER;
int pthread_mutex_lock(pthread_mutex_t *mutex); //加锁
int pthread_mutex_unlock(pthread_mutex_t *mutex); //解锁
int pthread_mutex_destroy(pthread_mutex_t *mutex); //清理
pthread_t pthread_self(void); //获取调用线程的标识