线程回收
pthread_join,阻塞等待线程退出,获取线程退出状态,对应进程中 waitpid() 函数
int pthread_join(pthread_t thread, void **retval);
返回
成功:0;失败:错误号
参数:
thread:线程ID (不是指针);
retval:所调用函数的返回值

对比进程

进程中:main返回值、exit参数–>int;等待子进程结束 wait 函数参数–>int *
线程中:线程主函数返回值、pthread_exit–>void *;等待线程结束 pthread_join 函数参数–>void **

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>void *tfn(void *arg)//线程函数
{printf("线程 Thread_ID = %lu\n", pthread_self());sleep(5);return NULL;
}int main(void)
{pthread_t tid;pthread_create(&tid, NULL, tfn, NULL);//创建线程void *ret;pthread_join(tid,&ret);//线程回收printf("ret return %d\n", (int)ret);return 0;
}

C语言 pthread_join相关推荐

  1. Linux下C语言线程池的实现(1)

    http://hi.baidu.com/lingiloveyou/blog/item/21e57cf3322a6b40342accc7.html 什么时候需要创建线程池呢?简单的说,如果一个应用需要频 ...

  2. linux 多线程聚集写程序,Linux篇二:Makefile写多线程多文件程序-Go语言中文社区...

    距离上次布置任务已经两个周了,虽然这是自己的业余学习,还是为自己的工作时间安排表示有待提高.. 废话不多说,直接上干货. 这次老师布置的任务要求是,Makefile写多线程.多文件调用.用上数学函数. ...

  3. 【C++ 语言】线程安全队列 ( 条件变量 | 线程调度 )

    文章目录 I . 线程简单使用 II . 互斥锁 III . 条件变量 线程同步 IV . 完整代码示例 006_ThreadSafeQueue.h 006_ThreadSafeQueue.cpp S ...

  4. 【C++ 语言】线程 ( 线程创建方法 | 线程标识符 | 线程属性 | 线程属性初始化 | 线程属性销毁 | 分离线程 | 线程调度策略 | 线程优先级 | 线程等待 )

    文章目录 I 线程创建方法 II 线程执行函数 III 线程标识符 IV 线程属性 V 线程属性 1 ( 分离线程 | 非分离线程 ) VI 线程属性 2 ( 线程调度策略 ) VII 线程属性 3 ...

  5. 线程运行程序c语言,理解线程1 C语言示例的程序

    一个简单的C语言实现的线程示例 在看<Beginning Linux Programming>时,为了更好的理解线程的概念,书中列举了这样一个小例子: #include #include ...

  6. c语言调用python3_linux下c语言调用python方法问题

    //c语言多线程调python,必须加上红色字体,因为python本身不是线程安全的 PyObject* callPython(char* cpModelPath) { if(cpModelPath ...

  7. c语言printf%%,c语言printf实现同一位置打印输出的实例分享

    --想了解c语言printf实现同一位置打印输出的实例分享的全部内容且更多的C语言教程关注 控制台同一位置打印输出,例如:进度1%->100%在同一位置显示.刚学习c语言的时候一直想做起来,可惜 ...

  8. linux 线程pthread_detach,linux线程之pthread_join和pthread_detach

    在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死.在 被其他线程回收之前,它的存储器资源(例如栈)是不释放的.相反 ...

  9. C语言实现简单线程池(转-Newerth)

    有时我们会需要大量线程来处理一些相互独立的任务,为了避免频繁的申请释放线程所带来的开销,我们可以使用线程池.下面是一个C语言实现的简单的线程池. 头文件: 1: #ifndef THREAD_POOL ...

最新文章

  1. Nginx安装、配置及使用总结
  2. Git漏洞导致攻击者可在用户电脑上运行任意代码
  3. 精准扶贫探索新融合模式-农业大健康·李龙:谋定乡村振兴
  4. angularJS 上传multipart/form-data
  5. 封装caffe-windows-cpu(支持模型有多个输出)
  6. android基础知识之一
  7. java列表框_Java图形用户界面之列表框
  8. 关于ecplise中一些很实用的技巧
  9. sketch 将动图转换为json_UI设计师如何创建sketch设计样式、库和UI套件
  10. Visual Studio 编写纯C语言程序
  11. 饱和气压与温度的关系_气压和钓鱼的关系,冬天钓鱼还需要看气压吗?很多钓友都错了...
  12. 一些关于angular的总结
  13. 虚拟化平台cloudstack(7)——新版本的调试
  14. 播放视频时有残影、水纹的原因
  15. fread函数 linux在哪,fread函数返回值
  16. Java面试----2018年最新Struts2面试题
  17. 2019年度十大网络小说:玄幻小说独占六部,都市小说一本超神
  18. 广州连续四年被评为最佳投资城市;快手科技一季度收入同比增长36.6% | 美通企业日报...
  19. obd 与服务器通讯协议,OBD系统的通讯协议介绍 - 〖汽车维修设备制作〗 - 中威汽车电子技术论坛 - Powered by Discuz!...
  20. 百练:1042 Gone Fishing

热门文章

  1. Python验证码的生成
  2. 使用决策树分类算法判断一下你的Python水平
  3. 使用Python检查密码安全程度
  4. array 前端面试题_一则关于js数组的前端面试题
  5. python数据预测案例_Python数据分析及可视化实例之疾病预测(分类)
  6. C语言作业完成情况dazuoye,成都信息工程学院C语言作业答案.docx
  7. java编程思想怎么样_读完java编程思想后的思考?
  8. 最新全国暴雨强度公式2019_2019-2020最新全国高中排名
  9. ncl 添加点shp文件_一:python读取shapefile文件
  10. python3 unicodeencodeerror_解决 Python3 下 print 时出现 UnicodeEncodeError 的问题