【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android之Widget开发详解实例一「建议收藏」

    Android Widget开发案例实现是本文要介绍的内容,主要是来了解并学习Android Widget开发应用,今天我们要写一下Android Widget的开发,由于快点凌晨,我就不说的太具体了,同志们就模仿吧!首先看一下效果图: 下面是Demo的详细步骤:一、新建一个Android工程命名为:WidgetDemo.二、准备素材,一个是Widget的图标,一个是W

    2022年3月10日
    43
  • 用c语言编写一个学生成绩管理系统_c语言成绩查询系统编程

    用c语言编写一个学生成绩管理系统_c语言成绩查询系统编程C语言简单实现学生成绩管理系统一、前言首先,要写一个管理系统必须要先搭出一个框架来,即明确自己要实现哪些功能,将每个功能都写陈一个函数,然后再去编写实现各个功能的函数,最后再思考各个函数之间的相互调用。如果没有先搭好框架,而是直接一上手就去写代码的话,写着写着就会有种无从下手的感觉,就像你要做一道编程题目一样,首先要做的肯定是去读题目,看题目想要让我们干什么,然后才会去写代码。其次,最…

    2022年9月2日
    2
  • 零基础入门STM32编程(二)

    零基础入门STM32编程(二)前情回顾上篇文章初步认识了STM32,了解了STM32的分类及型号命名规则,本篇内容继续STM32串口编程入门学习。一走进STM321.1STM32系列STM32单片机分为四类五种,四类介绍参见上一篇文章,本文仅阐述五个系列,分别为:STM32F0系列是针对8位和16位微控制器的32位MCU替代产品,对于工程人员来说非常有吸引力,他们希望其产品平台不会过时,并可围绕工业标准ArmCortex-M0内核进行标准化开发。 STM32G0系列是基于ArmCortex-M0+核心的新..

    2022年9月7日
    0
  • 手背静脉识别的图像处理算法

    手背静脉识别的图像处理算法手背静脉识别的图像处理算法题目内容及要求手背静脉识别技术作为一种全新的特征识别技术,相比于传统的生物识别技术(如指纹识别)具有许多明显的优势,然而对于该技术的研究尚处于刚刚起步阶段,使用计算机来直接进行静脉识别与身份匹配仍然较为困难,为了方便后续特征识别,提高静脉识别的准确度和优越性,有必要对获取的静脉图像进行一系列处理,得到静脉的骨架结构。题目主要要求为:1.对采集图像进行背景去除,取得…

    2022年5月16日
    41
  • python strip()函数

    python strip()函数函数原型声明:s为字符串,rm为要删除的字符序列s.strip(rm)删除s字符串中开头、结尾处,位于rm删除序列的字符s.lstrip(rm)删除s字符串中开头处,位于rm删除序列的字符s.rs

    2022年7月5日
    18
  • 怎么样CSDN Blog投机和增加流量?

    怎么样CSDN Blog投机和增加流量?

    2022年1月7日
    44

发表回复

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

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