multithreading -什么是学习线程编程的好资源?

Translate

随着台式机上多核CPU的兴起,多线程技能将成为程序员的宝贵财富。您是否可以为希望学习线程编程的程序员推荐一些好的资源(书籍,教程,网站等)?

This question and all comments follow the "Attribution Required."

所有的回答

Translate

看看Herb Sutter的“免费午餐结束了”,然后在有效并发.

来源
dmo
Translate

Joseph Albahari在这里很好地概述了C#中的线程:

http://www.albahari.com/threading/

来源
Sid Lee
Translate

老实说,我从来没有亲自读过,但是Java并发编程这是我听过有人推荐的书。

来源
Translate

我在C ++上写有关多线程和并发的文章我的博客。我也在写一本有关C ++并发的书:C ++并发行动.

来源
Translate

我读过(大部分)实践中的Java并发由Brian Goetz撰写,非常好。

本书中显然有一个基于Java的主题(使用线程,锁等Java特定实现),但是几乎所有原理都可以应用于其他语言。

作者的主页包含一个文章清单他已经写过,其中一些包括与线程相关的东西。也许从那里开始,如果您喜欢他的风格,那就买这本书。

来源
Translate

有关C#(或一般.NET)中并发编程的重要指南和参考,我建议使用MSDN。每个开发人员必须了解的多线程应用程序Vance Morrison在MSDN上发表的文章。它包含了大量有关多线程开发的最佳实践信息和警告。

来源
Translate

我在以下位置维护并发文章,博客和项目的链接博客:

http://concurrency.tumblr.com

我通常每天在各种环境(Erlang,Java,Scala,.NET,C ++,Ruby,Python等)的各种主题(线程,actor,锁定,并行编程)上每天发布一两个链接。

来源
Translate

它是特定于Delphi的,但没有理由不将该概念应用于任何其他语言!

多线程教程

来源
Translate

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

这是一个很好的概况,如果您正在寻找讲习班和书籍,最好指定一种语言作为起点,以便您可以弄乱一些代码。

来源
Translate

Erlang编程语言提供了一种易于使用的并发编程风格。您可能从未真正使用过Erlang,但是这些概念可以移植到其他语言。您可能想读这本书编程Erlang:并发世界的软件 .

函数式编程的爱好者声称,无需学习任何新知识。只需使用纯函数式语言,编译器或解释器就会自动并行化所有内容。因此,您可能想学习Haskell,OCaml或其他功能语言。

来源
Translate

我不知道您到底在寻找什么,但是如果您正在进行WindowsForms开发,那么值得每一分钟阅读以下博客文章:WinForms UI线程调用:Invoke / BeginInvoke / InvokeRequred的深入审查

来源
Translate

我认为Boost.Threads是一个很棒的C ++并发库,特别是如果您只想开始编写多线程应用程序时,就可以学习。该代码非常简洁易懂,再加上下一个C ++标准将可能包含基于Boost.Threads的线程库(教程:http://www.ddj.com/cpp/184401518)

来源
Translate

如果您想尝试执行简单任务的高度并行版本,或者查看实际的解决方案,则可能会比查看取景器项目。基本上,它是关于如何有效地执行日志文件的并行正则表达式匹配,但是尝试添加尽可能少的代码。

参与者以多种不同的语言提交了解决方案,绩效结果被发布。原始项目现已完成,现在有取景器2继续工作。

编码恐怖有一个好寻像器简介.

来源
Translate

为了对主题进行丰富,彻底的处理,并在计算机科学和实践之间取得良好的平衡,我建议多处理器编程的艺术。许多示例是面向对象的代码(即Java),而其他语言则遍布其中。这仅取决于所涉及的主题。我真正喜欢这本书的地方是它讨论了如何在并发设计中实现通用算法。当然,还有更多!

对于一般概念和对pthread的处理,我真的很喜欢用POSIX线程编程。作为库和API,它在C语言中。

对于Windows和C#开发人员,请签出乔·达菲(Joe Duffy)的博客。 Joe在Microsoft开发人员部门从事并行库,基础结构和编程模型的工作。他有一本书将于2008年11月发行,标题为Windows上的并发编程 (亚马逊链接).

另外,不要错过教父的博客:赫伯·萨特(Herb Sutter)的萨特磨坊。他可以链接到他在《多布博士》杂志上发表的所有文章以及更多内容。点击他的并发类别.

来源
Translate

CPU制造商的网站上有一些有趣的内容:

http://developer.amd.com/documentation/articles/Pages/default.aspx#parallel

http://software.intel.com/zh-CN/multi-core

另外,英特尔的开源线程库也有一些不错的参考:

http://www.threadingbuildingblocks.org/

来源
Gill Lee
Translate

如果您使用C#,则由Gaston C. Hillar撰写的“ C#2008和2005线程编程”这本书-Packt Publishing-http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and-2005-threaded-programming/book, 会帮助你。强烈建议C#程序员使用,因为您可以通过有趣的示例下载代码,这些示例可以利用您的多核计算机。这本书是一本不错的指南,其中包含许多要练习的代码。它在讲故事的同时解释了最困难的概念。

来源