CPU计量器体现了一些问题。例如,某个内核的使用率为100%,而其他内核都是空闲的。或者你的应用程序是计算密集型的(即要占用大量CPU资源),但你只使用了多核系统的一部分计算能力。如何解决这些问题呢?简而言之,答案就是并行编程。像所有程序员一样,你可能熟谙编写顺序代码之道,但你会发现现在它不再满足你的性能要求了。要想有效地使用系统的CPU资源,必须把应用程序分割成块,这样应用程序就可以在同一时间运行。这说起来容易做起来难。并行编程被誉为专家领域,它难以重现软件缺陷。每个程序员似乎都有一些关于并行编程的趣事,可能由于某个神秘的错误,程序并没有像预期那样运行。在你编写并行程序时,这些故事应该能帮助你正视面临的问题和困难。幸运的是,微软给大家带来了帮助。.NETFramework4引入了一种新的编程模型,大大简化了并行工作。其后台是复杂算法的支持库,在多核架构中动态分配计算。此外,VisualStudi02010开发系统还包含调试和分析工具,以支持新的并行编程模型。而另一个帮助来源则是成熟的设计模式。本书借助任务并行库(TPL)和并行语言集成查询(PLINQ),介绍了最重要和最常用的并行编程模型,并给出了这些模型的可执行代码示例。
展开