"/>

关于多线程:学习线程编程有哪些好的资源?

关于多线程:学习线程编程有哪些好的资源?

What are some good resources for learning threaded programming?

随着桌面上多核CPU的兴起,多线程技术将成为程序员的宝贵财富。你能为想要学习线程编程的程序员推荐一些好的资源吗?


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


Joseph Albahari在C语言中写了一个很好的线程概述:

http://www.albaria.com/threading/


老实说,我自己从来没有读过它,但是Java中的并发编程是我听到的一些人推荐的一本书。


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


我在博客上写了多线程和并发的C++。我还写了一本关于C++中并发性的书:C++中的并发操作。


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

多线程教程


我为并发文章、博客和项目维护了一个LinkBlog,位于:

TopBr.com

我通常在各种各样的环境(Erlang,Java,斯卡拉,.NET,C++,露比,Python等)上每天在一个或两个主题上发布一个或两个链接(线程、参与者、锁定、并行编程)。


为了更好地指导和参考C(或一般的.NET)中的并发编程,我建议每个开发人员都必须知道的关于Vance Morrison在msdn上的多线程应用程序文章的msdn。它包含大量关于多线程开发的最佳实践信息和注意事项。


我在Brian Goetz的实践中已经阅读(大部分)Java并发,这非常好。

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

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


如果你想尝试做一个简单任务的高度并行版本,或者看到真正的解决方案,你可能做得比看广域搜索项目更糟糕。基本上,它是关于如何有效地对日志文件进行并行regex匹配,但是尽量少添加代码。

参与者以多种语言提交了解决方案,并发布了绩效结果。原来的项目现在已经完成,现在有广域查找器2正在进行工作。

编码恐怖很好地介绍了广域搜索。


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

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


Erlang编程语言提供了一种易于使用的并发编程风格。您可能从未实际使用过erlang,但这些概念可以移植到其他语言。您可能想阅读《为并行世界编程Erlang:软件》这本书。

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


我认为Booost。线程是一个很好的C++并发库,特别是如果你想开始编写多线程应用程序。代码非常简洁易懂,加上下一个C++标准可能包括基于Booost线程的线程库(教程:HTTP://www. DDJ.COM/CPP/184401518)。


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

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

对于Windows和C开发人员,请查看Joe Duffy的博客。Joe在微软开发部门从事并行库、基础设施和编程模型方面的工作。他在2008年11月出版了一本书,名为《Windows上的并发编程》(Amazon Link)。

另外,不要错过教父的博客:赫伯萨特的萨特磨坊。他在多布博士的杂志上有他所有文章的链接等等。单击他的并发类别。


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

http://developer.amd.com/documentation/articles/pages/default.aspx并行

http://software.intel.com/en-us/multi-core(多核)

此外,英特尔的开源线程库也有一些很好的参考资料:

http://www.threadingbuildingblocks.org网站/


我不知道你到底在找什么,但是如果你正在开发WindowsForms,那么下面的博客文章值得每分钟阅读:Winforms UI线程调用:对invoke/begininvoke/invokeRequred的深入检查


如果您使用C,那么由Gaston C.Hillar-Packt Publishing-http://www.packtpub.com/beginners-guide-for-c-sharp-2008-and-2005-thread-programming/book撰写的"C 2008和2005线程编程"一书将对您有所帮助。强烈推荐C程序员使用,因为您可以下载代码,其中包含利用多核计算机的有趣示例。这本书是一本很好的指南,有很多要实践的代码。它讲故事,同时解释最困难的概念。


推荐阅读

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    Lucene学习之高亮显示

    Lucene学习之高亮显示,索引,字符,在搜索引擎中我们经常会看到这样的情景: 红色部分我们称之为高亮显示,lucene提供了HighLighter模块来实

    多线程cpu电脑|多线程的CPU

    多线程cpu电脑|多线程的CPU,,1. 多线程的CPU四核心四线程,表示这个电脑的CPU核心是4个核心、4个线程的。电脑CPU的核心数量和线程数量越多,

    新手如何学习计算机知识(快速入门)

    新手如何学习计算机知识(快速入门),,作为一个初学者,因为我忙于工作和家庭的原因,我没有太多的时间去计算机培训班,但我想熟悉计算机操作和计算

    学习游戏两宜3000元菜鸟超频主机

    学习游戏两宜3000元菜鸟超频主机,,在英特尔中的主流新产品的推出,旧产品将面临洗牌。目前,奔腾双核E2180处理器的价格已经降至430元,而奔腾e2

    如何学习PP点(图2)

    如何学习PP点(图2),,再次输入密码,按GO你可以立即着陆(图1-5): 图1-5 着陆后,PP的主界面出现(图1-6): 图1-6 搜索 当成员进入PP时,点击主界面右上

    电脑维修学习网站|电脑维修自学网

    电脑维修学习网站|电脑维修自学网,,电脑维修自学网有的,建议多努力学习一些知识和本领,等出来可以自己租电脑维修,手机维修等工作,收入不错 电

    revit学习快捷键|Revit快捷键大全

    revit学习快捷键|Revit快捷键大全,,1. Revit快捷键大全Al 对齐Tr 修剪Rp 画参照线Hi 隔离原图Cv 复制Mm 镜像Hh 临时隐藏Vv 图形可见性设