2008-08-05 207 views

回答

1

http://www.cilk.com/multicore-e-book/

这就是sitution的一个很好的概述,如果你正在寻找tuorials和书籍它可能是最好的指定语言为出发点,因此您可以使用一些代码陷入混乱。

1

Erlang编程语言提供了并行编程的简单易用的风格。你可能永远不会真正使用Erlang,但这些概念可以传送到其他语言。您可能想要阅读编程Erlang:并行世界软件

函数式编程的粉丝声称不需要学习任何新东西。只需使用纯函数式语言,编译器或解释器就会自动并行处理所有内容。所以你可能想学习Haskell,OCaml或其他函数式语言。

2

我读过(大部分)Java Concurrency in Practice Brian Goetz撰写,这是非常好的。

显然有(使用Java的线程,锁等具体实现),通过这本书上运行的基于Java的主题,但几乎所有的原则可以应用到其他语言。

作者的主页包含list of articles他写的,其中包括一些线程相关的东西。也许从那里开始,如果你喜欢他的风格,那就买这本书吧。

2

对于C#(或.NET中的并发编程)的一个很好的指导和参考,我建议在MSDN上使用Vance Morrison的MSDN What Every Dev Must Know About Multithreaded Apps文章。它包含了大量关于多线程开发的最佳实践信息和注意事项

1

我觉得如Boost.Threads是一个伟大的C++并发库的学习,特别是如果你只是想以书面形式多线程应用程序启动。代码非常简洁易懂,再加上下一个C++标准可能会包含一个基于Boost.Threads的线程库(教程:http://www.ddj.com/cpp/184401518

1

如果您想要做一个高度并行版本的简单的任务,或看到真正的解决方案,你可能会比看项目wide finder更糟糕。基本上它是关于如何有效地执行日志文件的并行正则表达式匹配,但是尝试添加尽可能少的代码。

参与者已经提交了许多不同语言的解决方案,并且发布了performance results。原来的项目已经完成,现在有wide finder 2正在开展工作。

CodingHorror有一个很好的introduction to wide finder

1

对于丰富,彻底治疗的个体,拥有计算机科学与实践之间的良好平衡,我建议The Art of Multiprocessor Programming。很多示例都是面向对象的代码,即Java,其他语言分散在各处。这取决于所涉及的主题。我真的很喜欢这本书,它讨论了如何在并行设计中实现常用算法。当然,还有更多!

对于pthreads的一般概念和处理,我真的很喜欢Programming with POSIX Threads。作为它的库和API,它在C.

对于Windows和C#开发人员,请查看Joe Duffy's blog。 Joe从事微软开发部门的并行库,基础架构和编程模型。他有一本2008年11月发行的书名为Concurrent Programming on WindowsAmazon link)。

另外,千万不要错过教父的博客:Herb Sutter的Sutter's Mill。他与Dobb博士的杂志上的所有文章都有联系。点击他的Concurrency category

2

我保持linkblog并发文章,博客,以及在项目:

http://concurrency.tumblr.com

我通常张贴各种主题的每天一个链接或两个(线程,演员,锁定,并行编程)在各种环境中(Erlang,Java,Scala,.NET,C++,Ruby,Python等)。

相关问题