There seems to be a widespread notion that in order to do parallel programming, you have to write an inherently parallel program. By inherently parallel, I mean one that must have more than one thread to run correctly. A simple example is a producer-consumer program with a bounded buffer. A single thread cannot execute such a program by running the producer to completion first (buffer might overrun), or running the consumer to completion first (nothing to consume!).
Thus instead of sequential vs. parallel, consider three categories:
According to theserverside.net, Bill Gates recently told Microsoft MVPs "Because the ability to take multiple processors and use them in parallel has been a programming challenge going back many, many decades, so now it's important that we actually solve that problem, and make it possible for developers of all types to take advantage of these multi-core devices."
虽然现代平台中的处理器和缓存拓扑结构比传统的对称多处理器设计中的拓扑结构更加复杂，但是本文仍将展示所列举的处理器拓扑结构的详细算法。本文还将介绍如何在 Linux* 环境中将线程与具体的处理器联系在一起。
Throughout the history of modern computing, enterprise application developers have been able to rely on new hardware to deliver significant performance improvements while actually reducing costs at the same time. Unfortunately, increasing difficulty with heat and power consumption along with the limits imposed by quantum physics has made this progression increasingly less feasible.