当前位置: 首页 > news >正文

C语言 pthread_create

备注void *,最好添加返回值
原因:在实践中,虽然你的函数可能不需要返回任何值,但为了与 pthread_create 函数的预期函数指针格式相匹配,最好遵守函数指针所需的返回类型。这是一种良好的编程实践,确保你的代码能够在各种情况下正确编译和执行。即使编译器没有强制要求函数按照格式返回值,也建议遵循函数指针的声明,以防止未来的问题或兼容性问题。

#include <stdio.h>
#include <pthread.h>void *ReadfileThreadFunc(void *arg) {const char *filename = (const char *)arg;FILE *file = fopen(filename, "r");if (file != NULL) {char buffer[256];while (fgets(buffer, sizeof(buffer), file) != NULL) {printf("%s", buffer); // 输出文件内容到控制台}fclose(file);} else {printf("Failed to open the file.\n");}return NULL;
}int main() {pthread_t MyThread;const char *filename = "example.txt";// 创建线程,并传递文件名作为参数if (pthread_create(&MyThread, NULL, ReadfileThreadFunc, (void *)filename) != 0) {printf("Failed to create thread.\n");return 1;}// 等待新线程结束if (pthread_join(MyThread, NULL) != 0) {printf("Failed to join thread.\n");return 1;}return 0;
}
http://www.lryc.cn/news/217334.html

相关文章:

  • 前端uniapp提交表单调用接口方法最新
  • OpenFeign的简单介绍和功能实操
  • webpack 高级
  • OLE DB 访问接口所需的(最大)数据长度为 18,但返回的数据长度为 6。
  • oracle (9)Storage Relationship Strut
  • React 项目结构小结
  • 4.网络之TCP
  • 电池原理与分类
  • Mongoose 开源库--Filesystem(文件系统)使用笔记
  • 新兴初创企业参展招募
  • 【Linux】Nginx安装使用负载均衡及动静分离(前后端项目部署),前端项目打包
  • 银行和金融企业为何青睐这8款项目管理工具
  • 一分钟理解npm run dev 和 npm run serve
  • HTTP 协议请求头 If-Match、If-None-Match 和 ETag
  • DAY42 1049.最后一块石头的重量II + 494.目标和 + 474.一和零
  • uniapp原生插件之安卓华为统一扫码HMS Scan Kit
  • 数模国赛——多波束测线问题模型建立研究分析
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • vue+canvas实现横跨整个页面的动态的波浪线(贝塞尔曲线)
  • LeetCode算法题解|​ 669. 修剪二叉搜索树​、108. 将有序数组转换为二叉搜索树、​538. 把二叉搜索树转换为累加树​
  • 直播界很火的无线领夹麦克风快充方案 Type-C接口 PD快充+无线麦克风可同时进行
  • Jmeter 汉化中文语言
  • centos9 stream 下 rabbitmq高可用集群搭建及使用
  • 代码随想录算法训练营第10天|232. 用栈实现队列 225. 用队列实现栈
  • 线上Kafka集群如何调整消息存储时间
  • [迁移学习]DA-DETR基于信息融合的自适应检测模型
  • 【MATLAB】全网唯一的13种信号分解+FFT傅里叶频谱变换联合算法全家桶
  • Nginx安装与配置
  • linux笔记总结-基本命令
  • [PHP]禅道项目管理软件ZenTaoPMS源码包 v16.4