pthread_exit()
#include <stdlib.h>
void exit(int status);
1、功能
线程调用这个函数时,可以主动退出(终止)
它和exit()很像,exit()是终止整个程序,而pthread_exit是终止次线程。
如果你在次线程里面调用错误,调用的是exit,整个线程就终止了
2、返回值
成功返回0,失败返回非零值
3、参数
retval:线程结束的返回值
如果返回值很多时,就会封装成一个结构体,返回结构体变量的地址即可
return ()
注册线程退出处理函数
void pthread_cleanup_push(void (*routine)(void *),void *arg);
void pthread_cleanup_pop(int execute);
弹栈线程退出处理函数的几种条件
1、pthread_cleanup_push(! 0)主动弹栈
2、如果线程是被他人调用pthread_cancel取消的,也会弹栈
3、如果调用pthread_exit函数也是会主动弹栈
注意:return退出的话,是不会自动弹栈的,想要自动弹栈用pthread_clean_pop(! 0),少了!,不弹出调用