1.线程创建和退出
创建线程:pthread_create
退出线程:
- 线程执行完毕
- pthread_exit
不可使用exit,会导致主进程退出,从而使所有线程退出。
线程退出后,资源不一定能够得到立即释放,可以调用阻塞函数pthread_join,将当前线程挂起,等待线程的结束。调用它的函数将一直等待到被等待的线程结束为止,当函数返回时,被等待线程的资源就被收回。
函数说明:
所需头文件#include <pthread.h>
函数原型
int pthread_create ((pthread_t *thread,
thread_attr_t *attr,
void (start_routine)(void *),
void *arg))
函数传入值
thread:线程标识符attr:线程属性设
函数返回值
start_routine:线程函数的起始地址arg:传递给start_routine的参数成功:0出错:-1
pthread_exit函数的语法要点
函数原型void pthread_exit(void *retval)函数传入值Retval:pthread_exit()调用者线程的返回值,可由其他函数如pthread_join 来检索获取
pthread_join函数的语法要点
所需头文件#include 函数原型int pthread_join ((pthread_t th, void **thread_return))
函数传入值
th:等待线程的标识符thread_return:用户定义的指针,用来存储被等待线程的返回值(不为NULL时)
函数返回值出错:-1
成功:0
网友评论