- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈工大软件学院并行程序设计课程实验报告之二
《并行程序设?计》课程实验报?告
实验2:基于Win?dows Threa?d和Ope?nMP的多?线程编程
姓名 *** 院系 软件学院 学号 ********** 任课教师 张伟哲 指导教师 苏统华 实验地点 软件学院五?楼机房 实验时间 2015年?4月8日 实验课表现? 出勤、表现得分 实验报告
得分 实验总分 操作结果得?分 一、实验目的 要求:需分析本次?实验的基本?目的,并综述你是?如何实现这?些目的的?
一、
1.。ual Studi?o* .NET*集成开发环?境的使用;
3、掌握Win?dows3?2 Threa?d API开发?多线程程序?;
4、掌握Win?
二、
.掌握Ope?;
掌握Ope?;掌握采用O?penMP?一、
2 Threa?ds\ Hello?Threa?ds\,用Micr?osoft? Visua?l studi?o打开文件?Hello?Threa?d.sln,编译并运行?程序;
2. 对main?.cpp中函?数进行修改?,要求输出线?程创建顺序?(例如:Hello? Threa?d 0, Hello? Threa?d 1, Hello? Threa?d 2 等等);
注意:利用Cre?ateTh?read()循环变量作?为每个线程?的执行顺序?唯一标识
3. 编译并多次?运行程序,记录线程执?行顺序,分析线程程?序执行顺序?是否不可预?见及其产生?原因
4. 定位到文件?夹Win3?2 Threa?ds\ Pi\,用Micr?osoft? Visua?l studi?o打开文件?Pi.sln,编译并运行?程序;
5. 对此串行代?码使用Wi?ndows?32 Threa?d API进行?线程化,要求4线程?实现,且每次迭代?计算仅由一?个线程完成?
6. 使用CRI?TICAL?_SECT?ION机制?和Sema?phors?机制对多线?程共享变量?进行互斥操?作,避免数据竞?争。
二、
rosof?t Visua?l Studi?o工具打开?实验程序文?件:
/Hello?world?s/Hello?world?s.c;
3、编译,运行程序并?记录实验结?果;
4、在源程序代?码中的找到?主程序体:
print?f(Hello? World?\n);
for(i=0;i6;i++)
print?f(Iter:%d\n,i);;
加上#pragm?a omp paral?lel
{
}段
5、采用/Qopen?mp重新编?译程序(使用Int?el编译器?,通过Int?el命令窗?口进入)
C:\icl /Qopen?mp Hello?World?s.c;
6、设定Ope?nmp线程?数:
C:\Set OMP_N?UM_TH?READS?=2;
7、重新运行程?序,观测实验结?果,并记录。
实验二 积分方法求?PI值的并?rosof?t Visua?l Studi?o工具打开?实验程序文?件:
/pi/pi.sln;
3、编译,运行程序并?记录实验结?果;
4、在源程序代?码中的找到?主程序体中?进行omp?方式优化
5、采用/Qopen?mp重新编?译程序;
三、实验结果 记录实验结?果。
2.1
一、
(1)
直接编译运?行:
(2)
打印数值
(3)
每次打印1?0个 Hello? ,会发现明显?的乱序执行?现象
(4)
运行程序
(5)
使用下面的?多线程代码?进行计算
#inclu?de windo?ws.h
#inclu?de stdio?.h
CRITI?CAL_S?ECTIO?N cSect?ion;
const? int numTh?reads? = 4;
stati?c long num_s?teps=10000?0;
doubl?e step, pi;
doubl?e x, sum = 0.0;
DWORD? WINAP?I hello?Func(LPVOI?D pArg)
{
int s = *(int *)pArg;
step = 1.0/(doubl?e) num_s?teps;
for (int i=s; i s + 25000?; i++){
x = (i+0.5)*step;
Enter?Criti?calSe?ction?(cSect?ion);
sum = sum + 4.0/(1.0 + x*x);
Leave?Criti?calSe?ction?(cSect?ion);
}
retur?n 0;
}
void main()
{
Initi?alize?Criti?calSe?ction?(cSect?ion);
HANDL?E hThre?ad
您可能关注的文档
- 医学毕业论文消毒供应室无菌物品质量监测.doc
- 医疗质量核心制度考核方案..doc
- 命题考点一 建筑工程项目施工进度控制方法的应用Application of construction progress control method in construction project test center.doc
- 专题小学数学课堂的有效导入.doc
- 分享云南省普通初中成长记录自我反思与评价.doc
- 吉林市创建全国文明城市工作情况汇报非常重要.doc
- 北海烟草人力资源用盖洛普Q进行员工满意度调查.doc
- 医院感染管理及医疗废物处理自查报告 .doc
- 医学毕业论文望诊遵经释疑.doc
- 北海烟草人力资源咨询—用盖洛普Q进行员工满意度调查.doc
最近下载
- 部编版(2024)一年级语文下册课件 第六单元 11 浪花.pptx VIP
- GB_T 34120-2023 电化学储能系统储能变流器技术要求(OCR).pdf
- 创设情境提升小学生数学学习兴趣教学研究课题报告.docx
- DB4413_T 58-2024 特种设备双预防导则.docx VIP
- 影视或媒体岗位招聘面试题与参考回答.docx VIP
- 温室气体 产品碳足迹量化方法与要求 电解铝及编制说明.pdf
- 人工智能的现实困境.docx VIP
- 2022-2023学年上海市杨浦区复旦大学第二附属八年级下学期期中考试数学试卷含详解.pdf VIP
- 桥面板预制场施工设计方案.pdf
- 《桃花源记》文言文教学设计一等奖 .docx VIP
文档评论(0)