有哪些学习线程编程的好资源?[关闭]
-
08-06-2019 - |
题
随着多核CPU在桌面上的兴起,多线程技能将成为程序员的宝贵资产。您能为想要学习线程编程的程序员推荐一些好的资源(书籍、教程、网站等)吗?
其他提示
Joseph Albahari 在这里写了一篇关于 C# 线程的精彩概述:
老实说我自己从来没有读过,但是 Java 并发编程 这是我听过几个人推荐的一本书。
有关 C#(或一般的 .NET)并发编程的优秀指南和参考,我推荐 MSDN 每个开发人员必须了解的有关多线程应用程序的知识 万斯·莫里森 (Vance Morrison) 在 MSDN 上发表的文章。它包含大量有关多线程开发的最佳实践信息和注意事项
我维护一个并发文章、博客和项目的链接博客,网址为:
我通常每天在各种环境(Erlang、Java、Scala、.NET、C++、Ruby、Python 等)中发布一两个关于各种主题(线程、参与者、锁定、并行编程)的链接。
它是 Delphi 特有的,但没有理由这个概念不适用于任何其他语言!
http://www.cilk.com/multicore-e-book/
这是对这种情况的一个很好的总体概述,如果您正在寻找教程和书籍,最好指定一种语言作为起点,这样您就可以处理一些代码。
Erlang 编程语言提供了一种易于使用的并发编程风格。您可能从未真正使用过 Erlang,但这些概念可以移植到其他语言。你可能想读这本书 Erlang 编程:并发世界的软件 .
函数式编程的粉丝声称不需要学习任何新东西。只需使用纯函数式语言,编译器或解释器就会自动并行化所有内容。所以你可能想学习 Haskell、OCaml 或其他函数式语言。
我不知道您到底在寻找什么,但如果您正在进行 WindowsForms 开发,那么以下博客文章值得每分钟阅读:WinForms UI 线程调用:Invoke/BeginInvoke/InvokeRequred 的深入回顾
我认为 Boost.Threads 是一个非常值得学习的 C++ 并发库,特别是如果您只是想开始编写多线程应用程序。代码非常简洁且易于理解,而且下一个 C++ 标准可能会包含基于 Boost.Threads 的线程库(教程: http://www.ddj.com/cpp/184401518)
为了对这个主题进行丰富、彻底的处理,并在计算机科学和实践之间取得良好的平衡,我建议 多处理器编程的艺术. 。很多例子都是面向对象的代码,即Java,还有其他分散的语言。这仅取决于所涵盖的主题。我真正喜欢这本书的地方在于它讨论了如何在并发设计中实现常见算法。当然,还有更多!
对于一般概念和 pthreads 的处理,我真的很喜欢 使用 POSIX 线程编程. 。作为库和 API,它是用 C 语言编写的。
对于 Windows 和 C# 开发人员,请查看 乔·达菲的博客. 。Joe 在 Microsoft 开发部门从事并行库、基础设施和编程模型方面的工作。他有一本书将于 11 月出版。2008年题为 Windows 上的并发编程 (亚马逊链接).
另外,不要错过教父的博客:赫伯·萨特的 萨特磨坊. 。他在 Dr. 上有他所有文章的链接。多布的日记等等。点击他的 并发类别.
CPU 制造商网站有一些有趣的内容:
http://developer.amd.com/documentation/articles/Pages/default.aspx#parallel
http://software.intel.com/en-us/multi-core
此外,英特尔的开源线程库有一些很好的参考:
如果您使用 C#,请阅读 Gaston C 所著的《C# 2008 和 2005 线程编程》一书。希拉尔 - Packt 出版 - http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and-2005-threaded-programming/book , 会帮助你。强烈推荐给 C# 程序员,因为您可以下载包含利用多核计算机的有趣示例的代码。这本书是一本很好的指南,有很多代码可供练习。它在讲述故事的同时解释了最困难的概念。