随着桌面多核CPU的兴起,多线程技能将成为程序员的宝贵资产。 您是否可以为希望了解线程编程的程序员推荐一些好的资源(书籍,教程,网站等)?

===============>>#1 票数:18 已采纳

看看Herb Sutter的“ 免费午餐结束 ”,然后是他关于有效并发的系列文章。

===============>>#2 票数:10

Joseph Albahari在C#中对Threading进行了很好的概述:

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

===============>>#3 票数:6

老实说,我自己从来没有读过它,但Java中的Concurrent Programming是一本我听过几个人推荐的书。

===============>>#4 票数:5

http://www.yoda.arachsys.com/csharp/threads/

===============>>#5 票数:4

我在博客上写了关于C ++的多线程和并发性。 我也在写一本关于C ++并发性的书: C ++ Concurrency in Action

===============>>#6 票数:2

我维护了一个关于并发文章,博客和项目的链接博客:

http://concurrency.tumblr.com

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

===============>>#7 票数:2

这是特定于Delphi的,但没有理由说这个概念不适用于任何其他语言!

多线程教程

===============>>#8 票数:2

我已经阅读了Brian Goetz的(大部分) Java Concurrency in Practice ,这非常好。

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

作者的主页包含他撰写的文章列表 ,其中一些包括与线程相关的内容。 也许从那里开始,如果你喜欢他的风格,买书吧。

===============>>#9 票数:2

对于C#(或一般的.NET)中的并发编程的一个很好的指导和参考,我推荐MSDN上的Vance Morrison的MSDN 每个开发者必须知道的关于多线程应用程序的文章。 它包含大量关于多线程开发的最佳实践信息和警告

===============>>#10 票数:1

Erlang编程语言提供了易于使用的并发编程风格。 您可能永远不会使用Erlang,但这些概念可以传输到其他语言。 您可能希望阅读“ 编程Erlang:并发世界的软件”一书。

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

===============>>#11 票数:1

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

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

http://software.intel.com/en-us/multi-core

英特尔的开源线程库也有一些很好的参考:

http://www.threadingbuildingblocks.org/

===============>>#12 票数:1

我不知道你究竟在寻找什么,但如果你正在进行WindowsForms开发,那么下面的博客文章值得每分钟阅读: WinForms UI线程调用:对Invoke / BeginInvoke / InvokeRequred的深入评论

===============>>#13 票数:1

我认为Boost.Threads是一个很好的C ++并发库,尤其是如果你只想开始编写多线程应用程序的话。 代码非常简洁易懂,而下一个C ++标准可能包括基于Boost.Threads的线程库(教程: http ://www.ddj.com/cpp/184401518)

===============>>#14 票数:1

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

这是一个很好的概述,如果你正在寻找图书和书籍,最好指定一种语言作为起点,这样你就可以搞砸一些代码。

===============>>#15 票数:1

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

参与者提交了许多不同语言的解决方案,并公布了绩效结果 原来的项目现在已经完成,现在有广泛的发现者2开始工作。

CodingHorror 对广泛的查找器有很好的介绍

===============>>#16 票数:1

为了对主题进行丰富,彻底的处理,在计算机科学与实践之间取得良好的平衡,我推荐了多处理器编程的艺术 很多例子都是面向对象的代码,即Java,其他语言分散在各处。 它只取决于所涵盖的主题。 我真正喜欢这本书的是它讨论了如何在并发设计中实现常见算法。 当然,还有更多!

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

对于Windows和C#开发人员,请查看Joe Duffy的博客 Joe致力于Microsoft开发人员部门的并行库,基础架构和编程模型。 他有一本书于2008年11月出版,名为“ Windows上的并发编程”亚马逊链接 )。

此外,不要错过教父的博客:Herb Sutter的Sutter's Mill 他与Dobb博士期刊中的所有文章都有链接。 单击他的并发类别

===============>>#17 票数:0

如果您使用C#,那么“C#2008和2005线程编程”一书,作者:Gaston C. Hillar - Packt Publishing - http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and- 2005-线程编程/书 ,将帮助您。 强烈建议C#程序员使用,因为您可以使用有趣的示例下载代码,以利用您的多核计算机。 这本书是一个很好的指南,有很多代码可供练习。 它讲述了故事,同时解释了最困难的概念。

  ask by Bruce Alderman translate from so

未解决问题?本站智能推荐: