书籍介绍
这本书在读者口中呈现出一种鲜明的撕裂感:有人称它为并发编程的必读书、五颗星推荐,有人却骂翻译者“是个罪犯”、直呼“浪费生命”。正因如此,它更适合那些已经踩过线程坑、带着真实困惑回来的人——一个用Java五六年、真正入了多线程门的人,会觉得它讲得“全”而清晰;而刚接触并发的读者,很可能翻到JMM(Java内存模型)和volatile部分就半途而废,抱怨“怎么做才是对的”讲得不够。它不教你花哨技巧,而是把安全性、活跃性、性能三条主线反复打磨:加锁与volatile的边界、不可变对象与final安全初始化、线程池大小如何随资源而变。它的价值在于帮你建立“为什么这样才对”的判断力,它的短板是深度止步于概念、翻译拖了后腿。适合有一定基础、愿意对照源码补全细节的开发者,不适合指望它一步到位的新手。
作者简介
本书作者都是Java Community Process JSR 166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。
Brian Goetz有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。
Tim Peierls是“现代多处理器”的典范,他在BoxPop.biz、唱片艺术和戏剧表演方面也颇有研究。
Joseph Bowbeer是一个Java ME专家,他对并发编程的兴趣始于Apollo计算机时代。
David Holmes是《The Java Programming Language》一书的合著者,任职于Sun公司。
Joshua Bloch是Google公司的首席Java架构师,《Effective Java》一书的作者,并参与著作了《Java Puzzlers》。
Doug Lea是《Concurrent Programming》一书的作者,纽约州立大学Oswego分校的计算机科学教授。