随着信息时代的到来,需要处理的信息量越来越庞大,需要解决的问题越来越复杂,使得计算量剧增。通过提高单个处理器的计算速度和采用传统的"顺序(串行)"计算技术已难以胜任。因此,需要有功能更强大的计算机系统和计算机技术来支撑。并行计算机及并行计算技术应运而生。
但由于缺乏实验环境和机器设备,我们普通人很难研究并行算法,即使有了想法也同样面临着无法验证的尴尬。不过,好在像面向对象语言c++,Java等都提供了多线程,使我们可以模拟多台处理机。下面,我就一个简单的例子,向大家介绍一下在vc下如何利用多线程模拟多处理机并行求取最大值问题。
题目如下:令n=2的m次方,A是一个2n维的数组,待求最大值的数存放在A(n),A(n+1),A(2n-1)中,所求得的最大值置于A(1),于是算法描述如下:
输入:n=2的m次方个数存在数组A(n;2n-1)中;
输出:最大数置于A(1)中。
Begin
For k=m-1 to 0 do
For j=2 to 2n-1 p...[ 查看全文 ]