多线程计算pi效率对比分析

继续昨天的计算pi的程序 分配不同的线程数量得到的不同的运行时间对比

可以看到很明显的 从一个线程变成两个线程确实时间减少了一般左右,但是继续增加线程数量却不怎么影响结果。这是因为我电脑的CPU型号为Intel 酷睿i3 370M,双核四线程

,所以双线程的程序已经占用了全部的系统资源了。为了证明这个观点,请看下图:

分别是线程数为1、2、3、4时的运行CPU记录,可见两个主线程均已满负荷运作,而继续增加线程时,由于计算的是级数的和,都是同一种类型的计算,只会相同类型的资源而出现抢占,无法达到超线程的目的,所以并不会真正的减少计算时间。

 

所以如果需要记性大量相同类型的计算(如级数求和),则只需按核的数量创建线程就能充分利用系统资源了。

你可能感兴趣的:(多线程)