频道栏目
读书频道 > web开发 > .NET > C#并行编程高级教程:精通.NET 4 Parallel Extension
1.6.2 理解交错并发、并发和并行之间的区别
2012-07-08 21:53:22     我来说两句
收藏   我要投稿
本书旨在帮助有经验的C#开发人员能够利用.NET Framework 4中引入的Parallel Extensions,将现代微处理器中的多核处理能力转换为应用程序的性能。无论您是刚刚开始从老的多线程模型开始转换,还是已经有过一些...  立即去当当网订购
图1-15展示了交错并发(interleaved concurrency)和并发(concurrency)之间的区别,其中有两个软件线程,每个软件线程执行4条指令。在交错并发的场景中,一次执行一个线程的指令,两个线程的指令交错执行;但在并发场景中,两条指令可以同时并行地执行。设计的时候需要考虑到这两种情形。并发要求物理上能够同时处理才能进行。
 
 
 
并行化代码可以在很多不同的并发和交错并发的场合运行,即使是在同样的硬件配置上执行也是如此。因此,并行设计的一大挑战在于要能够保证:在各种不同顺序和交错的情况下执行都能够产生正确的结果,即保证正确性(correctness)。如果需要按特定顺序执行,或者要求某些部分的代码不允许同时运行,那么就必须要保证这些部分的代码不能够并发运行。不能因为运行了很多次,且每次都产生正确的结果就认为没有并发地运行。在设计并发和并行化的时候,必须保证考虑到正确性。
 
在第2章中,我们会通过一些代码示例来更深入地学习并发和并行之间的区别
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.6.1 以并发的思想指导设计
下一篇:1.6.3 并行化任务
相关文章
图文推荐
排行
热门
最新书评
文章
下载
读书
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站