欢迎来到天天文库
浏览记录
ID:38279053
大小:390.00 KB
页数:7页
时间:2019-06-07
《操作系统实验二多线程实现矩阵乘法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案多线程编程实现矩阵乘法xxx711103xx2012年4月4日一、实验目的通过实验,熟悉基于Win32线程库和Pthread线程库的编程环境,掌握利用WindowsAPI和PthreadAPI进行多线程编程的方法,进一步加深对线程概念以及多线程编程相关事项的理解。二、实验内容1.在Windows操作系统上,利用WindowsAPI编写应用程序实现矩阵乘法。2.在Linux操作系统上,利用PthreadAPI编写应用程序实现矩阵乘法。3.在上述两种环境下,实现相乘操作的两个矩阵均作为应用程序的输入参数动态生成,
2、并输出计算结果。4.在程序实现过程中,要求每个乘积矩阵元素的计算过程均由一个独立的线程实现。三、实验步骤1、windows上:打开codeblocks文档大全实用标准文案IDE,创建新C++项目,在新文件中输入如下代码,并编译运行。文档大全实用标准文案2、linux上打开gedit输入下面的代码,保存为Thread.c,在终端进入文档保存的目录并输入gcc–cThread.cgcc–oThreadThread.o–lpthread./Thread得到输出结果。文档大全实用标准文案文档大全实用标准文案四、程序运行时的初值和
3、运行结果1、在Windows操作系统上,利用WindowsAPI实现矩阵乘法,程序运行结果2.在Linux操作系统上,利用PthreadAPI实现矩阵乘法程序运行结果文档大全实用标准文案五、实验体会1、有了线程可以更清晰方便地解决在一个进程内的很多同步的问题,但也会带来新的困难和解决手段。多个进程间存在进程间通信,进程间同步的问题,而线程也一样,不过就通信而言,线程的通信实现相对更简单了。2、开始实验时对多线程编程尤其是API不够熟悉,对实现矩阵的乘法还不甚清楚,后来翻阅教材,查阅资料学习线程的一些函数,慢慢有头绪。所以
4、,不懂一个问题时,静下心慢慢搞懂而不是急于求成很重要。3、本次试验遇到的最大障碍是编译时,输入gcc-oThread.c–lpthread会报错“(.text+0x18):undefined文档大全实用标准文案referenceto'main'collect2ld返回1”,改为gcc–cThread.cgcc–oThreadThread.o–lpthread分步编译则正确,而其他同学没有遇到类似问题,其原因仍在查阅资料中。4、Linux平台上的多线程程序开发相对应Windows的多线程API有一些细微的差别。不注意这些L
5、inux上的一些开发细节,常常会导致程序问题不穷,死锁不断,这次实验已有体现,不过并不明显。文档大全
此文档下载收益归作者所有