实验一多线程计算PI值.docVIP

  • 143
  • 0
  • 约小于1千字
  • 约 5页
  • 2016-10-19 发布于重庆
  • 举报
实验一多线程计算PI值

实验一、多线程计算PI值 实验要求 将串行的积分法计算PI值程序改进成多线程层序 解决同步问题 实验环境 Visual C++ 6.0 计算方法 矩形法则的数值积分方法估算PI的值 串行的积分法计算PI值 通过for循环,一个个的把sum值相加。 实现代码如下: 并行方法计算PI值 主要通过for循环的计算过程分到几个线程中去,每次计算都要更新sum的值,就有可能发生一个线程已经更新了sum的值,而另一个线程读到的还是旧的sum值,所以在这里要使用临界区,把sum放到临界区中,这样一次只能有一个线程访问和修改sum的值。实现代码如下: 运行结果 并行程序运行结果: 串行程序运行结果: 实验结果的分析 运行结果显示,串行的计算时间比并行的计算时间短。可能是因为分割的小矩形的数量不够大所导致的。就像人们出安全通道一样,如果人数较多的话,那么大家抢着走,显然出去的速度是很慢的,如果大家排队,井然有序的出,那么效率显然会提高很多的。 8.附代码 并行代码 串行代码:

文档评论(0)

1亿VIP精品文档

相关文档