我主要是Java开发人员,并且我已经阅读了很多有关线程和并发的深入研究。许多非常聪明的人(Doug Lea,Brian Goetz等)都撰写了有关这些主题的书籍,并为Java的新并发库做出了贡献。
当我开始学习有关Python,Ruby和其他语言的更多信息时,我想知道:是否必须为这些语言重新创建所有这些工作?
是否会或需要有“Python的道格·里阿”或“Ruby的Brian Goetz”,他们为这些语言的并发功能做出了类似的强大贡献?
是否必须为将来的语言重新创建用Java完成的所有这些并发工作?还是用Java完成的工作会为将来的语言建立类(class)和指导?
最佳答案
并发编程的基本原理在Java之前就已经存在,并且在您正在谈论的这些Java书籍中进行了总结。 java.util.concurrent库类似地从先前的代码和有关并发编程的研究论文派生而来。
但是,某些实现问题特定于Java。它具有指定的内存模型,并且Java中的并发实用程序针对该规范进行了量身定制。通过一些修改,可以将它们移植到具有不同内存模型特征的其他语言/环境。
因此,您可能需要一本书来教您其他语言中的并发工具的规范用法,但这并不会浪费时间。