操作系统实验——串行、多线程和线程池三种方式计算矩阵乘法

这篇博客详细介绍了在操作系统实验中,如何使用串行、多线程以及线程池三种不同的方式来实现矩阵乘法的计算。通过对不同方法的比较,探讨了它们在效率和资源利用上的优缺点。
摘要由CSDN通过智能技术生成

操作系统实验——串行、多线程和线程池三种方式计算矩阵乘法


注:写实验报告的同学在复制代码的时候记得改一改变量名和函数!最好看懂了自己写一下!不要直接copy!太明显了~~

1.实验目的:以多线程(并行)、串行以及线程池三种形式计算矩阵乘法,统计分析三种方法所需要的时间,并根据公式speedup<=1/(s+(1-s)/n),计算出顺序执行占用比s.

2.对公式speedup<=1/(s+(1-s)/n)的解释:speedup=串行时间/并行时间,又称加速比,s是顺序执行占用比,也就是程序中必须串行(单线程)执行的部分,n是你的电脑的内核数,可通过设备管理器查看

3.实现思路:
    1)定义两个较大的1024阶方阵和确定线程数量n(n从2-1024*1024均可以)
    2)实现一个singleThread()函数,用来串行(直接)计算矩阵乘法
    3)实现一个工作线程workThread,每个线程完成矩阵乘法运算工作的1/n,创建n个线程,用多线程计算矩阵乘法
    4)声明一个线程池,将n个线程放入线程池中进行管理,用线程池进行矩阵乘法的运算

4.代码
工作线程类workThread:
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值