随着多核处理的持续增长,包含数百甚至数千个线程的应用程序即将出现。设计这样的应用程序并不是一件简单的事情:程序员不仅要解决4.2节中列出的挑战,还要解决其他的困难。这些与程序正确性有关的困难将在第5和第7章中讨论。

解决这些困难,更好地支持多线程应用程序的设计的一种方法是:转换线程的创建和管理,从应用开发者,转到到编译器和运行时库。在本节中,我们将探索三种不同的方法来设计多线程程序,它们可以通过隐式线程来利用多核处理器。

解决这些困难并更好地支持并发和并行应用程序设计的一种方法是将线程的创建和管理从应用程序开发人员转移到编译器和运行时库。这种策略称为隐式线程,是一种日益流行的趋势。在本节中,我们将探讨四种设计应用程序的替代方法,这些应用程序可以通过隐式线程来利用多核处理器。正如我们将看到的,这些策略通常要求应用程序开发人员识别能够并行运行的任务(而不是线程)。任务通常被编写为函数,运行时库随后将其映射到一个单独的线程,通常使用多对多模型(第4.3.3节我们提及过)。这种方法的优点是开发人员只需要识别并行任务,而由库来确定线程的创建和管理的具体细节。

results matching ""

    No results matching ""