




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验Linux多线程编程I一、实验目的熟悉GNU GCC编译器,并使用Pthreads线程库熟练编写多线程程序。二、实验内容1,设定double类型的一维阵列。阵列长度为1,000,000,计算整个阵列元素的总和。要求:1)编写了一个串行程序,只有一个主线程完成了上述计算。2)除了主线程外,还准备多线程程序以完成上述计算。分别获得上述两个程序的计算时间并进行比较分析。2,定义以下三个阵列:# define LEN双ALEN、BLEN、CLEN;for(I=0);I;I,semapore也需要头文件。4,编译:$ gcc-o hello . clpthread对于信号量,编译时还必须添加-lrt参数。5,运行:/hello五、实验要求编写完整的源程序以提供程序运行的结果。串行实验源代码如下:#include#include#include#include#define LENVoid main()Time_t t1、T2;double DLEN;int I;双精度=0.0;t1=clock();for(I=0);I#include#include#include#define LENpthread _ t thread4;Pthread _ mutex _ t mutInt number=0,I;double DLEN;双精度=0.0;Void *thread1()for(I=0);I LENI)pthread _ mutex _ lock(mut);sum=DI;pthread _ mutex _ unlock(mut);Pthread_exit(空);Void *thread2()for(I=0);I LENI)pthread _ mutex _ lock(mut);sum=DI;pthread _ mutex _ unlock(mut);Pthread_exit(空);Void *thread3()for(I=0);I LENI)pthread _ mutex _ lock(mut);sum=DI;pthread _ mutex _ unlock(mut);Pthread_exit(空);Void *thread4()for(I=0);I LENI)pthread _ mutex _ lock(mut);sum=DI;pthread _ mutex _ unlock(mut);Pthread_exit(空);Void thread_create(void)Int tempMemset(thread,0,size of(thread);if(temp=pthread _ create(thread0,null,thread1,null)!=0)printf( thread 1生成失败! n );ElsePrintf(“已创建线程1 n”);if(temp=pthread _ create(thread1,null,thread2,null)!=0)Printf(“线程2生成失败”);ElsePrintf(“已创建线程2 n”);if(temp=pthread _ create(thread2,null,thread3,null)!=0)Printf(“线程3生成失败”);ElsePrintf(“已创建线程3 n”);if(temp=pthread _ create(thread3,null,thread4,null)!=0)Printf(“线程4生成失败”);ElsePrintf(“已创建线程4 n”);Void thread_wait(void)If(thread0)!=0) Pthread_join(thread0,NULL);If(thread1)!=0) Pthread_join(thread1,NULL);If(thread2)!=0) Pthread_join(thread2,NULL);If(thread3)!=0) Pthread_join(thread3,NULL);Int main()clock_t t1,T2;t1=clock();Pthread_mutex_init(mut,NULL);thread _ create();thread _ wait();T2=clock();Printf(sum=%dn ,T2-t1);return 0;运行结果:串行实验源代码如下#include#include#inclu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年北京市电子产品买卖合同样本
- 最优物业服务合同范本
- 废弃仓库出售合同范本
- 以车抵债合同范本
- 2025汽车买卖委托合同范本
- 2025农资购销合同模板
- 出租 押金合同范本
- 2025股票交易合同范本
- 短期招工租赁合同范本
- 牌楼拆除合同范本
- 2022水环式机械真空泵选型计算手册
- 2025-2030中国辣椒酱行业供需趋势及投资风险研究报告
- 2025年度运输业安全生产知识竞赛试题(附答案)
- 光伏居间的合同8篇
- GB/T 45418-2025配电网通用技术导则
- 医疗风险防控培训课件
- 机械设计部绩效考核制度
- 诊疗规范培训课件
- 《KANO模型培训》课件
- 复苏室患者的交接流程
- DB21-T 2523-2015矿山地质环境恢复治理规程
评论
0/150
提交评论