结束语
多线程是尽可能高效地利用底层 CPU 资源的一个好方法。但由于各种系统在演化,开发和操作系统社区已经扩展了多线程在应用程序级并行性中的使用。应用程序开发社区开始使用基于线程的编程,按某种顺序执行所有应用程序逻辑。自多核 CPU 开始发展以来,核心数量逐步增多,顺序、显式、基于线程的编程已变得不那么高效。
在多核硬件上运行的可伸缩、高性能的应用程序需要一种并行化方法,将应用程序逻辑分解为多个相互依赖的工作单元,并透明地将它们链接在一起(而不是通过使用单个线程明确地将它们捆绑在一起),这样每个工作单元都可以高效地执行。
正如装配线引起了制造流程的革命并提高了每一层的效率,良好的未来编程模型也将改变我们设计应用程序软件的方式。基于角色的编程就是这样一种抽象模型(参阅 参考资料),它将整个应用程序划分为多个部分,以便可以将底层的核心分配给这些部分,并以某种高效的方式并行执行它们。