线程终止
退出线程的三个方法:
- 线程入口函数运行完毕,线程就会退出
- 使用接口pthread_exit(void *retval) --- 任意位置调用都会退出当前调用线程
- 被动退出,一个线程调用pthread_cancel(pthread_t tid)终止同一个进程中的另一个线程
注意:
主线程退出,并不会使线程退出,所有的线程都退出了,进程才会退出
main函数中的return或调用exit接口推出的都是进程不是线程
进程退出会导致所有的线程都退出
void pthread_exi(void *retval)
参数:retval 线程退出的返回值
返回值:无返回值,跟进程一样,线程结束时无法返回到它的调用者(自身)
int pthread_cancel(pthread_t tid)
参数:tid退出线程的ID
返回值:成功返回0, 失败返回错误码