C语言 pthread_join
线程回收
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相关推荐
- Linux下C语言线程池的实现(1)
http://hi.baidu.com/lingiloveyou/blog/item/21e57cf3322a6b40342accc7.html 什么时候需要创建线程池呢?简单的说,如果一个应用需要频 ...
- linux 多线程聚集写程序,Linux篇二:Makefile写多线程多文件程序-Go语言中文社区...
距离上次布置任务已经两个周了,虽然这是自己的业余学习,还是为自己的工作时间安排表示有待提高.. 废话不多说,直接上干货. 这次老师布置的任务要求是,Makefile写多线程.多文件调用.用上数学函数. ...
- 【C++ 语言】线程安全队列 ( 条件变量 | 线程调度 )
文章目录 I . 线程简单使用 II . 互斥锁 III . 条件变量 线程同步 IV . 完整代码示例 006_ThreadSafeQueue.h 006_ThreadSafeQueue.cpp S ...
- 【C++ 语言】线程 ( 线程创建方法 | 线程标识符 | 线程属性 | 线程属性初始化 | 线程属性销毁 | 分离线程 | 线程调度策略 | 线程优先级 | 线程等待 )
文章目录 I 线程创建方法 II 线程执行函数 III 线程标识符 IV 线程属性 V 线程属性 1 ( 分离线程 | 非分离线程 ) VI 线程属性 2 ( 线程调度策略 ) VII 线程属性 3 ...
- 线程运行程序c语言,理解线程1 C语言示例的程序
一个简单的C语言实现的线程示例 在看<Beginning Linux Programming>时,为了更好的理解线程的概念,书中列举了这样一个小例子: #include #include ...
- c语言调用python3_linux下c语言调用python方法问题
//c语言多线程调python,必须加上红色字体,因为python本身不是线程安全的 PyObject* callPython(char* cpModelPath) { if(cpModelPath ...
- c语言printf%%,c语言printf实现同一位置打印输出的实例分享
--想了解c语言printf实现同一位置打印输出的实例分享的全部内容且更多的C语言教程关注 控制台同一位置打印输出,例如:进度1%->100%在同一位置显示.刚学习c语言的时候一直想做起来,可惜 ...
- linux 线程pthread_detach,linux线程之pthread_join和pthread_detach
在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死.在 被其他线程回收之前,它的存储器资源(例如栈)是不释放的.相反 ...
- C语言实现简单线程池(转-Newerth)
有时我们会需要大量线程来处理一些相互独立的任务,为了避免频繁的申请释放线程所带来的开销,我们可以使用线程池.下面是一个C语言实现的简单的线程池. 头文件: 1: #ifndef THREAD_POOL ...
最新文章
- Nginx安装、配置及使用总结
- Git漏洞导致攻击者可在用户电脑上运行任意代码
- 精准扶贫探索新融合模式-农业大健康·李龙:谋定乡村振兴
- angularJS 上传multipart/form-data
- 封装caffe-windows-cpu(支持模型有多个输出)
- android基础知识之一
- java列表框_Java图形用户界面之列表框
- 关于ecplise中一些很实用的技巧
- sketch 将动图转换为json_UI设计师如何创建sketch设计样式、库和UI套件
- Visual Studio 编写纯C语言程序
- 饱和气压与温度的关系_气压和钓鱼的关系,冬天钓鱼还需要看气压吗?很多钓友都错了...
- 一些关于angular的总结
- 虚拟化平台cloudstack(7)——新版本的调试
- 播放视频时有残影、水纹的原因
- fread函数 linux在哪,fread函数返回值
- Java面试----2018年最新Struts2面试题
- 2019年度十大网络小说:玄幻小说独占六部,都市小说一本超神
- 广州连续四年被评为最佳投资城市;快手科技一季度收入同比增长36.6% | 美通企业日报...
- obd 与服务器通讯协议,OBD系统的通讯协议介绍 - 〖汽车维修设备制作〗 - 中威汽车电子技术论坛 - Powered by Discuz!...
- 百练:1042 Gone Fishing
热门文章
- Python验证码的生成
- 使用决策树分类算法判断一下你的Python水平
- 使用Python检查密码安全程度
- array 前端面试题_一则关于js数组的前端面试题
- python数据预测案例_Python数据分析及可视化实例之疾病预测(分类)
- C语言作业完成情况dazuoye,成都信息工程学院C语言作业答案.docx
- java编程思想怎么样_读完java编程思想后的思考?
- 最新全国暴雨强度公式2019_2019-2020最新全国高中排名
- ncl 添加点shp文件_一:python读取shapefile文件
- python3 unicodeencodeerror_解决 Python3 下 print 时出现 UnicodeEncodeError 的问题