前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【C/C++多线程编程之四】终止pthread线程

【C/C++多线程编程之四】终止pthread线程

作者头像
全栈程序员站长
发布2022-07-13 15:48:02
发布2022-07-13 15:48:02
1.4K0
举报

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

多线程编程之终止pthread线程 Pthread 是 POSIX threads 的简称,是POSIX的 线程标准

终止线程似乎是多线程编程的最后一步,但绝不是本系列教材的结束。线程创建到线程终止,希望先给读者一个关于多线程编程的总体认识。

1.终止Pthread线程:pthread_exit()

參数:

ret:地址指针,本质上是返回值写入的地址。

终止线程是线程的主动行为,一个线程调用pthread_exit,终止线程自身。线程终止会释放线程特定数据,线程特定数据为线程专有。因为线程共享全局数据,故线程退出不会释放进程的全局数据。

该函数返回值ret怎样使用?返回值是调用的概念,那么仅仅有在一个线程被还有一个线程“调用”时返回值ret才起作用。这里“调用”不同于一般意义上的函数调用,一个线程等待一个线程能够理解为“调用”。如一个线程调用 pthread_join等待还有一个线程终止。以下介绍等待线程终止函数pthread_join。

2.等待线程终止:pthread_join()

该返回值ret通过还有一个函数pthread_join传递。等待线程终止pthread_join原型为:

等待线程终止pthread_join会堵塞调用线程,直到其指定的线程终止。pthread_join通过第一个參数:线程ID来指定线程。调用者调用pthread_jion等待一个特定线程终止,在这样的情况下,调用者可能须要这个特定线程的返回值,pthread_join通过将value_ptr的地址赋值给特定线程的pthread_exit的ret获取返回值。

3.pthread_exi与pthread_join牛刀小试:

上面的样例主线程main调用pthread_join等待子线程My_thread线程终止,通过传递My_thread_ret地址获取子线程My_thread的返回值,最后在屏幕上输出获得的返回值。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118377.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年12月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 多线程编程之终止pthread线程 Pthread 是 POSIX threads 的简称,是POSIX的 线程标准 。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档