勘误表

大家读书读的非常仔细,感谢大家提供的勘误。明显错误的我整理到勘误表中了,一些建议或者语句不通顺的待商榷的保留在评论区,以后再出版的时候再斟酌

欢迎大家在评论区贴出你们的读书笔记!

# 页码 错误描述 纠正建议 提交者
3 原文: 但是对于并行编程模型,...的性能提升有时候是巨大的 建议: 但是对于并发编程模型,...的性能提升有时候是巨大的 before80
4 原文: 并且设计了线程更轻量级的协程 建议: 并且设计了线程更轻量级的协程 guowei-gong
5 原文: 底层的add函数体中,x / y 建议: x + y chengxiaoer233
16 原文: 需要将这些状态加载到集群 建议: 需要将这些状态加载到寄存器 skyjerry
25 原文: TestCounter例子的wg没有设置数量 建议: 在for循环外wg.Add(64),或者在for循环的第一行wg.Add(1) CZT0
36 原文: mutexWaiterShift = iota // waiter开始的位, 3 建议: mutexWaiterShift = iota // waiter开始的位, 2 iofeqkurrc42
38 原文: 图 2.10 第三列未加速 建议: 未加锁 iofeqkurrc42
45 原文: 流程图第六行 "未加锁或饥饿状态 new +=1<<mutexWaiterShift" 建议: "加锁或饥饿状态 new +=1<<mutexWaiterShift"。 其中的未加锁 要改成 加锁 illusionist-moon
47 原文: 也就是在 old 上加 muexLocked 锁标志 建议: 也就是在 old 上加 mutexLocked 锁标志 zzhaolei
51 原文: 然后第二个Unlock的调用会被阻塞 建议: 然后第二个Lock的调用会被阻塞 bswaterb
60 原文:token实现重入锁中的recursion字段 建议: 修改成atomic.Int64,代码中对recursion字段使用原子操作 songzhibin97
61 原文: NewConcurrencyMap使用了可变参数size ...int 建议: 不需要使用可变参数,修改为size int,方法体中也需要做相应的检查和修改 shanliao420
74 原文: 注意此时rw.readerWait的值可能是负数 建议: 注意此时rw.readerCount的值可能是负数 某读者
124 原文: 7.1 线程安全的map 建议: 7.1 内建map类型 随风遁隐
182 原文: ServerHTTP(c context.Context w http.ResponseWriter, r *http.Request) 建议: ServerHTTP(c context.Context, w http.ResponseWriter, r *http.Request), 漏掉了参数的逗号分隔符 白明
258 原文: var ch = make(chan int) 建议: var ch = make(chan struct{}) 白明
323 原文: 第19章 Go并发编程和调度器 建议: 第19章 分布式并发原语 鸟窝、白明
before80 提供了一些段落更通顺的写法 before80