读书频道 > 网站 > 网页设计 > Visual C++并行编程实战:多核架构下分工与协作的设计模式
1.4 关于术语
12-08-13    叶孤城
收藏    我要投稿   
这本书所介绍的并行模式库(Parallel Patterns Library,PPL)实际上是一个模式化的C++模版库,而且作为Visual Studio 2010开发系统的一部分,它已经完全被内置到了这一版本的C++语言中。这意味着你可以像使...立即去当当网订购
在一般情况下,我们会认为“并行”和“并发”是同义词,但在这本书中它们是两个不同的概念。 
在本书中,并发(concurrency)在更多时候是一个与多任务和异步输入输出(I/O)相关的概念。它实质上是一种执行方式,这种执行方式能在多线程轮番争夺时间片的情况下,确保每一个线程最终都能获得时间片。为了使程序能应对诸如用户输入、设备和传感器等外部中断,并发性是必要的。例如,操作系统和游戏天生就是具有并发性,即便在单核情况下也是如此。 
而对于并行化(parallelism)而言,则更强调并发线程可以同时在多个处理器内核上执行的能力。并行编程则侧重于增加我们所占用的处理器资源,并且确保有多个处理器时不会被经常中断,以此来提升应用程序的性能。 
而且,并发和并行想要达到的目标也并不相同。并发的主要目标是降低各个线程长期不受阻塞占有时间片的可能性,换句话说,并发就是要避免出现有线程被饿死的情况。 
通常,并发在操作上往往是必要的。例如,在一个单核计算机的图形操作系统中,会有多个窗口需要同时刷新显示区域,这时候图形用户界面(GUI)就必须支持并发。相对而言,而并行化则与吞吐量有关,是一种性能的优化,而非功能性需求。它的目标是让处理器的所有内核保持最大的有效负荷。为此,它所使用的调度算法通常就不是具有抢占性的,正如处理队列(queue)或栈(stack)的算法所做的工作一样
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站