最近我不得不编写我的第一个"正确的"多线程编码,并且意识到我对"命令式"(即C++/C#/ Java等使用的并发模型)并发编程技术的了解程度.
有哪些资源(包括书籍和在线教程等)以便更多地了解这个编码区域?
注意:我不是要问可以说更好的并发模型(Erlang的消息传递,或Clojure的STM),只是在命令式语言中使用的范例.
并行Porgramming模式是一本关于并发编程技术的好书.它使用Java线程,C中的OpenMP和C中的MPI作为示例.
几乎所有关于你提到的任何一种语言的多线程编程的书应该涵盖一般原则.例如,我在C++ Concurrency in Action中涵盖了这一点.
实践中的Java Concurrency是这个主题最平易近人和最全面的概述之一,特别是如果你使用Java(尽管我认为它很有用,即使你没有).