Linux下C语言实现多线程排序文件内容

本文介绍了一个使用C语言在Linux环境下通过多线程并行排序多个文件内容的程序。程序针对每两个文件分配一个线程,利用pthread_create创建线程并用pthread_join等待线程结束。尽管并发执行时输出可能不同,但最终文件排序结果保持一致,无须额外同步机制。
摘要由CSDN通过智能技术生成

一、要求及主要函数

  • 使用多线程,编写一个并行程序,将目录中的多个文件里的内容进行排序。
  • 文件内容格式为: <数字><空格><数字> 例如: 0 1 2 3 4 5 6 7 8
  • 定义全局变量存储给定目录下的多个(现假设有10个)文件的地址
  • 文件名从0到9,当前有两个线程, 0号线程排序0 2 4 6 8号文件, 1号线程排序1 3 5 7 9号文件

pthread_create

功能

  pthread_create是UNIX环境创建线程函数

函数原型

  int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);

  第一个参数为指向线程标识符的指针。

  第二个参数用来设置线程属性。

  第三个参数是线程运行函数的地址。

  最后一个参数是运行函数的参数。

返回值

  若成功则返回0,否则返回出错编号

pthread_join

功能

  函数pthread_join用来等待一个线程的结束。

函数原型

  extern int pthread_join __P (pthread_t __th, void **__thread_

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值