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

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

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

多线程编程之终止pthread线程


     
 
Pthread
是 POSIX threads 的简称,是POSIX的
线程标准
。
          终止线程似乎是多线程编程的最后一步,但绝不是本系列教材的结束。线程创建到线程终止,希望先给读者一个关于多线程编程的总体认识。
          1.终止Pthread线程:pthread_exit()
【C/C++多线程编程之四】终止pthread线程
          參数:
          ret:地址指针,本质上是返回值写入的地址。
          终止线程是线程的主动行为,一个线程调用pthread_exit,终止线程自身。线程终止会释放线程特定数据,线程特定数据为线程专有。因为线程共享全局数据,故线程退出不会释放进程的全局数据。
         该函数返回值ret怎样使用?返回值是调用的概念,那么仅仅有在一个线程被还有一个线程“调用”时返回值ret才起作用。这里“调用”不同于一般意义上的函数调用,一个线程等待一个线程能够理解为“调用”。如一个线程调用
pthread_join等待还有一个线程终止。以下介绍等待线程终止函数pthread_join。
         2.等待线程终止:pthread_join()
         该返回值ret通过还有一个函数pthread_join传递。等待线程终止pthread_join原型为:
【C/C++多线程编程之四】终止pthread线程
等待线程终止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.net/118377.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python——正则表达式(re模块)详解

    python——正则表达式(re模块)详解在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python自带的模块,名字为re。正则表达式的大致匹配过程是:1.依次拿出表达式和文本中的字符比较,2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。3.如果表达式中有量词或边界,这个过程会稍微有一些不同。r:在带有’r’前缀的字符串字面值中,反斜杠不必做任何特殊处理。因此r”\n”表示包含’\’和’n’两个字符的字符串,而”\n”则表示只包含一个换行符的字符串。re模块的

    2022年5月17日
  • 如何搭建ntp时间服务器(搭建时间同步服务器)

    NTP(NetworkTimeProtocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。NTP服务器就是利用NTP协议提供时间同步服务的。

    2022年4月9日
  • 大一新生应该如何学习C语言,书上代码看不懂理解不了怎么办?

    大一新生应该如何学习C语言,书上代码看不懂理解不了怎么办?大家好,我是二哥呀!昨天有个读者问我要C语言的学习路线,他今年刚上大一,书上的代码完全看不懂。讲真,大一新生,一般都是零基础的纯小白,看不懂书上的代码很正常,除非是小学、初中、高中就开始卷计算机的硬核少年;或者是因为教材选的有问题。那刚好二哥之前整理过一些学习C语言的资料和学习方法,今天趁这个机会就再做个汇总和梳理。推荐一本书,两门视频课,若干学习建议,看完后如果还看不懂、理解不了C语言,过来骂我、捶我,只要不要打脸就行。01)阮一峰老师的C语言入门教程这个教程是开源的,采用知识共享许可

    2022年6月11日
  • 问答:程序员到底是一群怎样的存在?[通俗易懂]

    点击上方☝,轻松关注!及时获取有趣有料的文章话不多说,反正就是很牛逼的存在!可以接受反驳,但就是牛逼~下面来看看我的一些朋友是怎么说的吧~火星????哥就是苦逼的码农加班狗,35岁后面临…

    2022年2月28日
  • JS跳转代码_javascript跳转代码

    JS跳转代码_javascript跳转代码<scriptlanguage=”javascript”type=”text/javascript”>functionrequest(paras){varurl=location.href;varparaString=url.substring(url.indexOf(“?”)+1,url.length).split(“&”);varparaObj={}for(i=0;j=paraString[i];i++){paraObj[j.substrin

    2022年8月13日
  • 什么是国际顶级域名?

    什么是国际顶级域名?

    2021年9月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号