• 封面宣传用语:“借助Java、Go等多种语言的特长,深度剖析所有主流并发编程模型”
    => 本书没有涉及Go语言,文章里有go块,是指Clojure的go宏,不是Go语言,此外,“深度剖析”的字眼也不妥,七周系列是介绍性的,不是深入性的。
    2gua 提交于 2015-04-09 08:56 · 纸质版 · 第 - 印 ·
  • 重要勘误
    1. 第3页, 最后一句, "多处理器架构最明显的分类特征..."改为"多处理器系统最明显的分类特征..."
    2. 第4页, "对于分布式内存的多处理器系统", 其中"分布式内存"应为强调字体, 与之前"对于共享内存的多处理器系统"对应
    3. 4. 第15页, "来自外星方法的危害"一节的标题, 请在外星方法后加注释: "Alien Method, 意指"调用这类方法时, 调用者对方法的细节并不知情", 译者认为译为"外星方法"比较有意思。--译者注"
    5. 第23页, 最后一句, "如果条件为真, 线程将解锁并继续执行" 改为 "如果条件为真, 线程将继续执行并解锁"
    6. 第25页, 第一段代码, "eating"不应为粗体
    7. 第27页, 自习-实践部分, "与之类似, 内置锁也支持一种限制较多的条件变量" 改为 "与之类似, Java内置了一种限制较多的条件变量"
    8. 第27页, 自习-实践部分, "为什么内置锁比ReentrantLock效率更低?" 改为 "为什么这种方案比使用ReentrantLock的方案效率更低?"
    9. 第36页, 表2.3 补充标题: "消费者各自维护一个计数map时所花费时间的比较"
    10. 第39页, 标题"不易察觉的错误"的级别错误, 应与"可维护性"在同一个级别
    11. 第45页, "这是一个递归的的方案" 改为 "这是一个递归的方案"
    12. 第52页, 最后一段, "merge-with将maps中其余的..." 一段, 字体应与第35页中引用文档的字体相同 ("如果指定键没有与某值相关..."一段)
    13. 第57页, 倒数第8行, "如果理解了上面的例子"后增加注: "可以理解为用新的化简函数`(transformf f1)`替换了原来的化简函数`f1`, 增加了map环节"
    14. 第60页, "第二天总结"一节, "明天将关注...实现并行" 改为 "明天将关注...实现并发"
    15. 第73页, 第6行, "上一章中介绍了Clojure的纯函数子集" 改为 "上一章中介绍了Clojure的纯函数式部分"
    16. 第79页, 仅在纸质书中发现第三行为乱码, 猜测为字体问题, 电子版中字体也比较大, 请使用引文的字体
    17. 第79页, 倒数第1行, "可以为原子变量添加一个监视器" 改为 "可以为原子变量添加一个监视器(watcher)", 其中"监视器"应为楷体
    18. 第112页, 最后一段代码, 倒数第5行, "end"应为粗体
    19. 第118页, 标题"错误处理内核(error-Kernel)模式" 改为 "错误处理内核(Error-Kernel)模式"
    20. 第125页, 第4行, "使用Node.list()可以查看当前节点已知的其他节点列表" 改为 "使用Node.list()可以查看当前节点的已知节点列表"
    21. 第133页, "分布式编程"一节, "Actor模型是个极佳的选择" 改为 "actor模型是个极佳的选择"
    22. 第142页, 第3行, "不用担心资源而能随意创建并发任务"两侧加引号
    23. 第185页, 倒数第4行, "那一个长度为N的数组" 改为 "那么一个长度为N的数组"
    24. 第191页, 代码的第5行, 行标"-5"删去"-"
    25. 第204页, "创建一个集群" 一节, "3.0.2 AMI"改为"AMI 3.0.2"
    Tachikoma 提交于 2015-05-10 21:57 · 纸质版 · 第 - 印 ·
  • 非重要勘误
    1. 推荐序和前言的两处注释, 请将"本书中文版..."改为"该书中文版...", 有同学觉得第一直觉"本书"指的是<七并发>
    2. 第2页, 小乔爱问, 请将"这是并发, 但并不并行"改为"这是并发, 但不是并行"
    3. 第2页, 最后一句, 请将"一种做法是将数组分为两部分并把它们分别交给一个核处理"改为"一种做法是将数组分为两部分并把它们交给不同的核处理"
    4. 第7页, 请将"第三天, 学习一些"改为"第三天, 将学习一些"
    5. 第12页, 内存可见性一节, 请将"...何时一个线程对内存的修改对另一个线程可见"改为"...何时一个线程对内存的修改对另一个线程是可见的"
    6. 第28页, 第四行, "回显接收到的数据" 改为 "用于回显接收到的数据"
    7. 第33页, 倒数第二行, "并不提供原子的读-改-写的方法" 改为 "并不提供原子的读-改-写方法"
    8. 第40页, "其他语言"一节, "获得多把锁" 改为 "获取多把锁"
    9. 第50页, 第1行, "这段代码首先用" 改为 "这段代码先用"
    10. 第50页, 第5行, "40 GiB"后面的句号改为逗号
    11. 第72页, "缺点"一节, "但大部分场景性能损失..." 改为 "但在大部分场景中性能损失..."
    12. 第87页, 倒数第4行, "引用(ref)包装了..." 改为 "一个引用(ref)包装了..."
    13. 第91页, "Clojure对共享可变状态的支持", "对多个代理不能一致更新" 改为 "对多个代理不能进行一致地更新"
    14. 第98页, "复习"一节, "一些问题场景需要对某些可变状态进行维护" 其中 "某些"为楷体, 不确定应为楷体或是黑体, 烦请编辑确认
    15. 第116页, 第1行, "它管理着若干个工作进程" 改为 "它管理着若干工作进程"
    16. 第124页, "小乔爱问: OTP还能做什么?" 部分, "其中包括以下几点。" 改为 "其中包括:"
    17. 第124页, "小乔爱问: OTP还能做什么?" 部分, "更好的重启逻辑:"后是否多一个空格
    18. 第154页, "对链接进行去重"一节, "首先, 这段代码创建了两个..." 删去 "首先,"
    19. 第196页, 倒数第3行, "第二天, 首先学习传统数据系统..." 改为 "第二天, 首先分析传统数据系统..."
    20. 第208页, "自习-实践"一节最后一句, "多少个迭代后"改为"多少次迭代后"
    21. 第215页, "小乔爱问" 部分最后一句, "不过增量算法永远不能代替重建视图" 改为 "不过增量永远不能代替重建"
    22. 第223页, "数据流分发(Stream Grouping)" 改为 "数据流分发(stream grouping)"
    23. 第227页, "构建topology"一节, "已经知道bolt会包括多个worker" 改为 "已知一个bolt会包括多个worker"
    24. 第230页, 最后一句, "审视过去7周的内容" 改为 "审视过去七周的内容"
    25. 第233页, "反应式编程"一节, "(reactive programming)" 改为 "(Reactive Programming)"
    Tachikoma 提交于 2015-05-10 21:58 · 纸质版 · 第 - 印 ·