一、定义
这里有一张图片。
作者使用买咖啡的两种情形类比并发和并行的概念。每个买咖啡的队列就是一个线程,线程中包含需要处理的任务;咖啡机扮演者任务处理器的角色。并发处理,好比的单核cpu,它不能同时完成多个任务,为了“同时”处理多个任务,需要快速地在不同地线程之间切换;并行处理,好比多核cpu,可以真的同时完成多个任务。这就是并发和并行的基本概念。
二、说开去
递归任务并行化
对可递归的算法进行并行化是很容易的,而且效果不错,在这里总结一下大致的方法为:
- 对与可递归处理的算法,先写出正常的递归式,即顺序处理的算法。
- 对递归的每一步分进行并行化处理。
- 通过实验,设定并行化处理和顺序处理的阈值。