【Linux】线程的几种退出方法(知识点小记)

线程的几种退出方法:

方法 参数介绍 头文件 功能 区别
return stutus; status//程序退出的返回值 -- 返回到上一级主调函数

普通线程执行return,只退出当前线程

主函数中执行return,会退出进程,并释放所有线程

exit(int status); status//程序退出的返回值 #include 关闭所有文件,终止正在执行的进程

不论在哪里执行,都会退出整个进程

所以多线程开发要谨慎使用该函数

pthread_exit(void* value_ptr); value_ptr//程序退出的返回值,可以传NULL #include 退出线程 不论是主线程还是普通线程,执行该函数都不会影响进程中的其他线程,只会退出当前线程
pthread_cancal(pthread_t tid); tid//线程的tid #include 使用cancel取消事件,退出目标线程 任意线程调用该函数可以退出任意线程,哪怕是普通线程使用该函数退出主线程

PS:  pthread库不是Linux系统默认的库,而是属于NPTL线程库,NPTL线程库存放在用户层,连接时需要使用静态库libpthread.a,所以在线程函数在编译时,需要连接库函数,如用gcc,使用格式为:    gcc 文件名 -l pthread -o 编译文件名

你可能感兴趣的:(Linux,学习,linux)