博客
关于我
pthread_create导致的程序崩溃
阅读量:795 次
发布时间:2023-03-04

本文共 605 字,大约阅读时间需要 2 分钟。

今天在使用pthread_create创建线程时,程序一运行就直接死掉了。经过对比,我发现自己在调用pthread_create时传递了NULL作为第一个参数,导致程序崩溃。错误信息显示程序因“Segmentation fault”而终止。根据pthread_create的man pages,第一个参数必须是线程标识符,必须使用-pointer类型,不能传递NULL。

为了修复这个问题,我修改了代码,正确使用了&tid作为第一个参数,并添加了错误检查。编译使用gcc加上-lstdc++和-lpthread。测试后,程序成功运行了。

以下是修复后的代码:

#include 
#include
void *ThreadTest(void *arg) { printf("Enter ThreadTest \r\n");}int main(void) { pthread_t tid; if (pthread_create(&tid, NULL, ThreadTest, NULL) != 0) { printf("Create thread error! \n"); } else { printf("Create thread success! \n"); } getchar(); return 0;}

转载地址:http://xwafk.baihongyu.com/

你可能感兴趣的文章
postMessage跨标签页共享数据
查看>>
post为什么会发送两次请求?
查看>>
Post表单提交TextArea的值出现转译乱码问题 - Spring MVC处理表单提交
查看>>
Power BI 中的 Python 可视化需要什么设置?任何特定的 matplotlib 包版本或系统设置?
查看>>
Power BI:如何在 Power Query 编辑器中将 Python 与多个表一起使用?
查看>>
power english (3) main text -emotion mastery - focus
查看>>
POWER ENGLISH (6) - MODEL
查看>>
power english (1) —— passion
查看>>
Power English (1) 原文
查看>>
power English (3)原文
查看>>
POWER ENGLISH(7)- repetition
查看>>
SpringBoot中集成SpringBatch详细解析与实战示例(CSV文件读取十万条数据进行业务处理后写入Mysql数据库)
查看>>
powerbi 一张表在另外一张表中出现的数量_PowerBi之初步学习笔记
查看>>
QGIS怎样设置简体中文以及新建可编辑的多边形的图层
查看>>
PowerBuilder 使用自定义事件触发键盘Enter事件
查看>>
PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
查看>>
PowerDesigner 使用的一些技巧(转)
查看>>
QGIS在Windows上下载安装与建立空间数据库连接
查看>>
PowerDesigner165安装婆姐汉花教程
查看>>
PowerDesigner使用教程:设置注释、默认值属性
查看>>