翻译
无风听海
这个作者很懒,什么都没留下…
展开
-
理解并发编程中的几种并发方式
理解并发编程中的几种并发方式 时刻谨记并发设计 当你设计代码利用多核优势的时候,重要的是不要老是想着C#程序代码是独自执行的。C#为并发代码做了设计,也就是很多代码可以在同一个进程里同时执行或者交错执行。相同的类方法可以在并行代码里执行。如果这个方法在静态变量里保存了状态,以后再使用这个状态,这样的并行执行会产生非期望的和不可预料的结果。 就原创 2012-06-12 23:27:18 · 1588 阅读 · 0 评论 -
并发编程中需要谨记的规则(翻)
并发编程中需要谨记的规则 最小化临界区 Amdahl定律和Gustafson定律都将并行算法中的顺序执行的工作视为性能问题的头号敌人。两个执行代码区段中间的时间需要顺序执行,这就是众所周知的临界值。在图1-16的分析Gustafson定律的图表中有四个这样的临界区。 图 1-16 当你并行化你的任务的时候,为了实现最好的性能我们原创 2012-06-14 00:12:04 · 6885 阅读 · 8 评论 -
并发编程中的NUMA架构
并发编程中的NUMA架构 为更高的扩展性和NUMA做准备 近年来,多处理器支持的最广泛的模型对称多处理器(SMP)让位于非均匀存储器存取(NUMA)架构。对称多处理器模型的一个最大的问题就是处理器总线会限制未来的可伸缩性,因为每一个处理器拥有同样的机会访问内存和输入输出系统。 使用非均匀内存访问架构,每个处理器可以更快的访问离自己近的内存。当处理器的翻译 2012-06-22 13:24:38 · 1433 阅读 · 0 评论 -
命令式数据并行
命令式数据并行 Visual C# 2010和.NETFramework4.0提供了很多令人激动的新特性,这些特性是为应对多核处理器和多处理器的复杂性设计的。然而,因为他们包括了完整的新的特性,开发人员和架构师必须学习一种新的编程模型。 这一章是一些新的类、结构体和枚举类型,你可以使用这里来处理数据并行的场景。这章将为你展示怎样创建并行代码和描述与翻译 2012-06-22 23:16:23 · 792 阅读 · 0 评论 -
基于任务的并发编程之Parallel.Invoke(一)
基于任务的并发编程之Parallel.Invoke(一) 如果想并行执行很多方法,最便捷的方式就是使用Parallel类提供的新方法Invoke方法。例如,假设你有下边四个独立的方法,每个方法执行一个格式化转换,并且你们确定并行执行它们是安全的。 Ø ConvertEllipses Ø ConvertRectangles Ø ConvertLine翻译 2012-06-25 23:26:41 · 4961 阅读 · 1 评论 -
使用Parallel.Invoke并行你的代码
使用Parallel.Invoke并行你的代码 优势和劣势 使用Parallel.Invoke的优势就是使用它执行很多的方法很简单,而不用担心任务或者线程的问题。然而,它并不是适合所有的场景。Parallel.Invoke有很多的劣势 如果你使用它来启动那些需要执行很长时间的方法,它将会需要很长时间才能返回。这可能会导致很多的核心在很长时间都保持闲置翻译 2012-07-02 04:23:40 · 3692 阅读 · 0 评论