使用C#和.NET 4编写的并行应用程序“多核并发编程的规则”

“多核并发编程的规则”

规则的描述如下

1.      并发编程的思想—这条规则就是要谨记并发编程思想进行设计,就像前边章节所提交的。

2.      面向抽象编程-你可以利用.NET4中的TPL提供的新特性使你的高层代码反映解决的问题,并且不是底层线程管理技术复杂化。第二章将会引入TPL。

3.      基于任务模型编程,而不是线程—TPL允许你你编写代码实现基于任务模型的设计而不用担心底层的线程。

4.      设计可以选择关闭并发—当你使用TPL写代码的时候,这些代码页可能会运行在单核的微处理器上。

5.      避免使用锁—利用新的类和方法、结构体解决对于复杂同步方式的需求是很重要的。TPL使避免在很多复杂的情景下使用重量级锁变得更简单,它提供了新的轻量级的同步方法。

6.      借助已有的工具和类库的帮助进行并发编程—Visual Studio 2010提供了新的工具调试、测试、协调并行代码。在本书中你将会学习很多相关的工具和类库。

7.      使用可伸缩的内存分配策略—TPL在CLR里提供了可伸缩的内存分配策略,当任务和线程执行的时候,它会自动的执行内存分配策略。然而,为了最大程度的利用缓存,你必须分析不同的分配可能性,并且尽力避免在每个任务里消耗过多的内存。

8.      设计的可伸缩性可以通过增加负载的方式实现—一旦你精通了并行扩展库,那么使用TPL提供的新的类考虑Gustafson定律就会很容易。如果你的设计需要具有很强的伸缩性,你将可以编写代码根据核心的增加进行调整。Windows 7 和windows Server 2008 R2支持多大256个硬件线程或者逻辑处理器;所以,有足够的伸缩性空间。

原文地址:https://www.cnblogs.com/Leo_wl/p/5257352.html