为并发编程方法推荐一个很好的资源?

rob*_*rob 24 concurrency

我已经阅读了并发的各种零碎内容,但希望找到一个能够详细说明并比较各种方法的资源.理想情况下,接受线程,协同程序,消息传递,演员,期货......以及其他任何我可能还不知道的新内容!

更喜欢一个编程人员指导而不是公开理论/数学.

谢谢.

Kir*_*rby 22

我推荐Pacheco的并行编程简介.它写得很清楚,也是并行编程的一个很好的介绍.

如果你不关心与语言绑定的东西,那么Java Concurrency in Practice是一个很好的资源.

Oracle的在线教程是免费的,但可能比你想要的更简洁.


话虽这么说,最好的并发教师可能就是经验.我自己试着去做一些练习.首先模拟一下餐饮哲学家的问题.这是经典之作.


Rsh*_*Rsh 14

首先,让我们看看你是否对这个话题感兴趣.要掌握关于并发性的大图,最佳实践是查看操作系统书籍,例如Stalings内部的操作系统Tanenbaum的现代操作系统.他们可以让你直觉了解这是什么.
还有一本旧书,由Ben-Ari命名为Concurent编程.如果你找到它,它会很有帮助.

除了阅读教科书之外,通过编写一些并发程序可以让你的手变脏.如果你想开始使用线程,Python是一个非常好的选择.每本Python书都有一个专门讨论这个主题的部分.另外,通过简单的网络搜索,你可以找到很多关于它的资源,但我给出了两个更高的偏好:
多线程编程(POSIX pthreads教程),一个非常全面的并发和多线程介绍.它主要是关于C多线程.
另一个是Python中的线程同步机制.

现在,如果您仍然发现自己对并发编程感兴趣,那么现在是时候深入了解.你几乎掌握了并发的基本知识,现在这个级别的最佳实践是开始解决问题并熟悉模式.要实现这一目标,您可以使用The Semaphores.它是该领域最好的书籍之一,也是免费的.这本书可以引导你成为一名熟练的人.

这些应该是不够的,如果你想办法并发编程,但如果你有足够的时间,你是渴望,这是很好的看一看并发编程的一些其他的范例,像它在使用演员二郎.我说值得阅读七周七语中的一些章节.特别是关于Erlang和IO的章节.乍一看,它可能很难和奇怪,但熟悉其他并发解决方案是很好的.

  • 感谢"小书......"链接. (4认同)