您当前的位置: 首页 > 
  • 1浏览

    0关注

    880博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

终止线程执行的3种方法(pthread_exit()、pthread_cancel()、return)

CodeAllen嵌入式编程 发布时间:2022-08-26 08:36:02 ,浏览量:1

多线程程序中,终止线程执行的方式有 3 种:

  1. 线程执行完成后,自行终止;
  2. 线程执行过程中遇到了 pthread_exit() 或者 return,也会终止执行;
  3. 线程执行过程中,接收到其它线程发送的“终止执行”的信号,然后终止执行。
  • pthread_exit()

在 C 语言中,return 关键字用于终止函数执行,必要时还能将函数的执行结果反馈给调用者。return 关键字不仅可以用于普通函数,线程函数中也可以使用它。头文件中,提供有一个和 return 关键字相同功能的 pthread_exit() 函数。和之前不同,pthread_exit() 函数只适用于线程函数,而不能用于普通函数。 pthread_exit() 函数的语法格式如下:

void pthread_exit(void *retval);

retval 是void*类型的指针,可以指向任何类型的数据,它指向的数据将作为线程退出时的返回值。如果线程不需要返回任何数据,将 retval 参数置为NULL即可。

注意,retval 指针不能指向函数内部的局部数据(比如局部变量)。换句话说,pthread_exit() 函数不能返回一个指向局部数据的指针,否则很可能使程序运行结果出错甚至崩溃。

  • pthread_exit()和return的区别

return 语句和 pthread_exit() 函数的含义不

关注
打赏
1665938897
查看更多评论
立即登录/注册

微信扫码登录

0.0372s