如何设计程序/软件以利用多处理器

时间:2010-10-05 09:28:48

标签: performance

利用多处理器 1.您是否需要选择任何特定的编程语言 2.有没有任何设计模式 3.您可以在任何可用的不同处理器上安排每个线程

我正在努力理解编写优秀程序的良好实践,以充分利用可用的处理器。

3 个答案:

答案 0 :(得分:1)

编写正确的并行代码 hard

我不知道任何教科书,但我发现Herb Sutter在Effective Concurrency的系列作品非常好。

答案 1 :(得分:0)

  1. 每种语言都支持多线程。
  2. 是的,您可以在操作系统教科书中阅读它们。
  3. 这取决于您的编程语言和工具。通常,将此决定留给操作系统会更容易。
  4. 如果您刚刚开始使用多线程,您可能需要查看一些书籍:https://stackoverflow.com/search?q=multithreading+book

答案 2 :(得分:0)

除非你必须解决的问题要求并行计算,否则我会选择最适合解决我真正问题的编程语言。

处理器的线程分配通常最好留给操作系统。您可以使用不同的线程优先级来影响该分配。

我使用运行时环境(java,.net)的语言,而不是在运行时环境中使用额外的线程层与本机线程。

要充分利用多处理器的潜力,您遇到的问题必定是一个有助于多处理的问题。在多线程数据输入表格中没有实际用途。

HTH

马里奥