2022年操作系统实验二多线程实现矩阵乘法 .pdf
-
资源ID:33368740
资源大小:1.45MB
全文页数:8页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年操作系统实验二多线程实现矩阵乘法 .pdf
多线程编程实现矩阵乘法xxx 711103xx 2012年 4 月 4 日一、实验目的通过实验,熟悉基于Win32 线程库和 Pthread 线程库的编程环境,掌握利用 Windows API 和 Pthread API 进行多线程编程的方法,进一步加深对线程概念以及多线程编程相关事项的理解。二、实验内容1. 在Windows 操作系统上,利用 Windows API 编写应用程序实现矩阵乘法。2. 在Linux操作系统上,利用Pthread API 编写应用程序实现矩阵乘法。3. 在上述两种环境下,实现相乘操作的两个矩阵均作为应用程序的输入参数动态生成,并输出计算结果。4. 在程序实现过程中,要求每个乘积矩阵元素的计算过程均由一个独立的线程实现。三、实验步骤1、windows 上:打开 codeblocks IDE,创建新 C+项目,在新名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 文件中输入如下代码,并编译运行。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 2、linux 上打开 gedit 输入下面的代码, 保存为 Thread.c ,在终端进入文档保存的目录并输入gcc c Thread.c gcc o Thread Thread.o lpthread 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - ./Thread 得到输出结果。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 四、 程序运行时的初值和运行结果1、在 Windows 操作系统上,利用Windows API 实现矩阵乘法,程序运行结果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 2. 在 Linux 操作系统上,利用Pthread API 实现矩阵乘法程序运行结果五、实验体会名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 1、有了线程可以更清晰方便地解决在一个进程内的很多同步的问题,但也会带来新的困难和解决手段。多个进程间存在进程间通信,进程间同步的问题,而线程也一样,不过就通信而言,线程的通信实现相对更简单了。2、开始实验时对多线程编程尤其是API 不够熟悉,对实现矩阵的乘法还不甚清楚,后来翻阅教材,查阅资料学习线程的一些函数,慢慢有头绪。所以,不懂一个问题时,静下心慢慢搞懂而不是急于求成很重要。3、本次试验遇到的最大障碍是编译时,输入gcc -o Thread.c lpthread 会 报 错 “(.text+0 x18): undefined reference to main collect2 ld 返回1”, 改为gcc c Thread.c gcc o Thread Thread.o lpthread 分步编译则正确,而其他同学没有遇到类似问题,其原因仍在查阅资料中。4、Linux 平台上的多线程程序开发相对应Windows 的多线程 API 有一些细微的差别。 不注意这些Linux 上的一些开发细节,常常会导致程序问题不穷,死锁不断,这次实验已有体现,不过并不明显。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -