作者回复: 赞学习态度,赞作业
作者回复: 因为它在for循环中,old的值会改变,第18行 。其它goroutine可能又获取了锁 。
作者回复: 是的。你可以看runtime中的实现https://github.com/golang/go/blob/0a820007e70fdd038950f28254c6269cd9588c02/src/runtime/sema.go#L321
作者回复: 应该说1.14中才采用了内敛的方式,官方专门有文档介绍这个,国内也有一些介绍,比如https://pengrl.com/p/20023/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
作者回复: 没错,多来几遍,每次都有收获
作者回复: Mutex和channel实现代码实现非常复杂,第一遍看不懂没关系,第二遍看不懂也没关系......,永远看不懂也不影响你使用它。你可以每次只尝试理解一个知识点。我的经验是多看几遍,每一个if分支都理解它的意思,在纸上画一画state的值的变化
作者回复: 是的,这一讲需要慢慢品,以后还可以翻过来回味一下
作者回复: 继续,加油
作者回复: 你第三讲打卡了,加油